我有一个flask-admin表单,它由用于问题,答案和标签的表单控件(文本区域)组成。
我注意到form_widget_args
将answer
渲染为<textarea class="form-control" id="answer" name="answer" required="" rows="5" style="display: none;"></textarea>
。我不确定该控件如何添加必需和style = display:none属性。
查看了此特定的控制台消息,似乎归因于必需的属性。尝试删除必需的属性,但是小部件不断使用它进行渲染。还看到有人建议添加novalidate,但这似乎不是最佳方法。也许我可以使用form_overrides
?
Views.py
class FAQAdmin(ModelView):
form_create_rules = (rules.HTML("<h3>Add an FAQ.</h3><br>"),
'question', 'answer', 'tags',
rules.HTML(
"""
<button class="btn btn-default"
type="button"
data-toggle="modal"
data-target="#addTagModal"
style="float:right">
Add New Tag
</button>
<br>
"""
))
form_edit_rules = list(form_create_rules)
form_edit_rules[0] = rules.HTML("<h3>Update an FAQ.</h3><br>")
form_edit_rules = tuple(form_edit_rules)
form_overrides = dict(question=TextAreaField,
answer=TextAreaField)
form_widget_args = {
'question': {
'class': 'form-control col-md-5',
'rows': 3
},
'answer': {
'rows': 5
}
}
create_template = "admin/create_faq.html"
edit_template = "admin/edit_faq.html"
list_template = "admin/list_faq.html"
提交表单后,控制台将显示“名称为“ answer”的无效表单控件不可聚焦”,并且表单也不会提交。