- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 WTForm 来验证我直接从 javascript 模型提交的表单(通过挖空填充)。在我的表单中,我有一个可以动态添加/删除的银行帐户列表。在 python 方面,我有这样的东西:
class Account(Form):
acc_name = TextField('Account', [validators.Length(min=2, max=35)])
class InformationForm(Form):
account_list = FieldList(FormField(Account))
接收到的用于验证的 json 数据如下:
'account_list': [{'acc_name': 'aaaaa'}, {'acc_name': 'b'}]}
问题是,当我验证时,我收到类似这样的信息,无法知道列表中的哪个帐户是错误的来源:
'account_list': [{'acc_name': [u'Field must be between 2 and 35 characters long.']}
如何将错误链接到正确的帐户?
编辑:我最后的做法是在我的 InformationForm 类中添加了一个 getErrors 方法,它为每个帐户构建了一个由唯一 ID 索引的字典,其中值是每个帐户错误。然后我将其作为 json 返回到我的应用程序。如果有一个“自然”的解决方案,我会保留这个问题......
最佳答案
FieldList 中的每个单独元素本身就是一个字段。如果 FieldList 包含一个 TextField,则每个条目都是一个 TextField。如果它包含一个 FormField,那么它就是一个 FormField(然后它包含一个带有自己字段的表单)可以通过迭代 FieldList 或访问 FieldList 的 .entries
属性来访问 FieldList 条目。
因此,与其查看 form.account_list.errors
,不如查看封闭字段的错误。
所以为了您的使用,像这样:
{% for subfield in form.account_list %}
<!-- subfield in this case is an instance of FormField -->
{{ subfield.form.acc_name() %}
{% if subfield.errors %}
{% for error in subfield.form.acc_name.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
{% endif %}
{% endfor %}
您可能想要 abstract this out to a macro如果这是您需要始终如一且经常执行的操作,而不是针对每个专业领域设置都执行此操作。
关于python - 将错误链接到 WTForms FieldLists 中的正确字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11566715/
我正在使用 Flask 和 Flask-WTF,我需要创建一个包含多个具有相似结构的 block (子表单)的表单(例如具有一个 SelectField 和一个 TextAreaField 的子表单)
我想以特定顺序检索对象中的字段。我找到了一种使用反射来检索字段的方法,但不能保证每次都以相同的顺序返回字段。这是我用来检索字段的代码: ReleaseNote rn = new ReleaseNote
我有以下表格, class AddForm(wtf.Form): tags = TagListField("Tags (comma separated)", validators=[wtf.R
我使用 WTForms FieldList字段列表的字段。它获取这些输入字段的值,这些值按它们在 form.data 中的名称排序。但我想按照它们在表单中出现的顺序获取值。覆盖 process 函数是
wtforms FieldList && 验证出现问题...应该说该字段必须有Int值,而不是This field is required为什么 f.data 具有 [None, 2, None] 值
将FieldList与WTForms一起使用时,通过验证时遇到麻烦。我不断收到此错误。 {'csrf_token': [u'CSRF token missing']}。问题是,如果我在FieldLis
我正在使用 WTForm 来验证我直接从 javascript 模型提交的表单(通过挖空填充)。在我的表单中,我有一个可以动态添加/删除的银行帐户列表。在 python 方面,我有这样的东西: cla
我有这个订单表格,允许我的用户创建订单。一个订单由 (producetype, quantity) 的多个元组组成. Producetype 应在 中呈现形式而数量可以只是一个输入。 produce
我有一个 flask + wtforms 应用程序,我希望用户能够在其中输入父对象和任意数量的子对象。我不确定从用户界面动态创建新子表单输入字段的最佳方式是什么。 到目前为止我得到了什么 下面是一个完
我们有以下表单,我们正在尝试为每个组创建 GroupRoleForms 列表。 class FullNameMixIn(): full_name = TextField( 'F
我在 Filling WTForms FormField FieldList with data results in HTML in fields 上看到了同样的奇怪行为我的原始字段使用 HTML
这个问题已经有答案了: How to populate wtform select field using mongokit/pymongo? (2 个回答) 已关闭 4 年前。 类似于这个问题: D
我在 FieldList 中的 FormField 中有一个自定义字段:locations class LocationForm(Form): id = HiddenField('id')
我有一个带有 flask-wtf 的表单用于上传图片,文件字段也可以多个字段。 我的表单: class ComposeForm(Form): attachment = FieldList(Fi
我正在使用 Flask 构建网站我在其中使用 WTForms .在 Form 中,我现在想使用 FormFields 的 FieldList,如下所示: class LocationForm(Form
我正在尝试使用 WTF 字段、FormField、FieldList 创建一个 ListItem 表单: forms.py class WarehouseTicketItemForm(Form):
确实缺乏有关如何使用 WTForms 的 FieldList 的文档。因此,多亏了互联网,我才能够将以下内容组合在一起: 表格: class BranchForm(Form): name =
我正在尝试创建一个动态表单(在 python Flask 应用程序中)使用WT 表格。 WTForms 包含一个用于字段列表的 FieldList 字段。我想用它来制作一个表单,用户可以在其中添加或删
我想生成带有复选框的文件列表。我试过使用 FieldList 但它没有像我预期的那样工作。我得到的不是带有指定文件名的复选框,而是带有以包含 FieldList 对象的变量命名的标签的复选框。有什么办
我有一个 Flask 应用程序,我可以通过上传一个 CSV 文件来填充表单数据,然后读取该文件。我想用从 CSV 读取的数据填充一个 FieldList。但是,当我尝试填充数据时,它会将原始 HTML
我是一名优秀的程序员,十分优秀!