首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在使用Flask-appbuilder内置表单时对用户输入的数据添加自定义验证?

有没有办法在使用Flask-appbuilder内置表单时对用户输入的数据添加自定义验证?
EN

Stack Overflow用户
提问于 2019-10-29 23:49:11
回答 1查看 258关注 0票数 0

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

在文档中,说明看起来非常简单:

代码语言:javascript
复制
class MyView(ModelView):
    datamodel = SQLAInterface(MyModel)
    validators_columns = {
        'my_field1':[EqualTo('my_field2', message=gettext('fields must match'))]
    }

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

我的代码(views.py):

代码语言:javascript
复制
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 ==用户名。

我是不是漏掉了什么环节?我尝试了多种解决方案,但似乎都不起作用。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2019-11-01 21:01:57

我通过执行以下操作设法解决了这个问题:

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58610943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档