有没有一种方法可以在使用Flask appbuilder内置表单的同时对用户输入数据添加自定义验证



我正在使用flask appbuilde构建一个web应用程序,并在下面的问题上坚持了一周。

在文档中,说明似乎非常直接:

class MyView(ModelView):
datamodel = SQLAInterface(MyModel)
validators_columns = {
'my_field1':[EqualTo('my_field2', message=gettext('fields must match'))]
}

然而,当我准确地实现这一点时,即使输入正确,UI上也会显示"无效输入",从而阻碍表单提交。

我的代码(views.py(:

class DelModelView(ModelView):
datamodel = SQLAInterface(Dell)
base_filters = [['cap_id', EqualTo, get_user]] #current user
list_columns = ["cap_id", "s_code", "s_name", "sos", "date_of_change"] 
#base_order = ("cap_id", "asc")
validators_columns = {
'cap_id':[FilterEqualFunction(get_user, message=_('fields must match'))]
}

def get_user():
return g.user.username

我想添加一个验证,在添加新条目cap_id==username时检查是否。

我这里有遗漏吗?我尝试了多种解决方案,但似乎都不起作用。

任何帮助都将不胜感激!

我通过以下操作解决了这个问题:

我从add_coloumns中删除了cap_id。我使用默认值current_user预填充它,现在它工作得很好。耶!!

相关内容

最新更新