美文网首页Python中文社区程序员
在Flask-Admin中自定义校验器

在Flask-Admin中自定义校验器

作者: 嘿嘿_小于同学 | 来源:发表于2017-06-07 00:22 被阅读53次
1、问题

当使用Flask web框架开发的web网站时,这个轻型框架有很多拓展来供我们使用,对于后台管理,Flask-Admin能帮助我们减轻很多工作,让我们更专注于业务代码的编写,但是使用别人已经造好的轮子有时候会出现需要自定义的地方,比如我们想在Flask-Admin新建记录时使用我们自定义的校验器,我们该怎么做!

2、解决方案

Flask-Admin官方文档https://flask-admin.readthedocs.io/en/latest/introduction/ 中介绍有这么一段话

To specify WTForms field arguments:

form_args = {
    'name': {
        'label': 'First Name',
        'validators': [required()]
    }
}

我们能不能将required()换成自己定义的校验方法呢,肯定可以。

class MyView(ModelView):
    ...
    
    # 自定义校验器,用来判断用户输入的日期是否小于当前日期
    def date_validator(form, field):
        input_date = datetime.datetime.strptime(field.data.strftime('%Y-%m-%d'), '%Y-%m-%d').date()
        now_time = time.strftime("%Y-%m-%d", time.localtime())
        now_date = datetime.datetime.strptime(now_time, '%Y-%m-%d').date()

        if input_date < now_date:
            raise ValidationError(u'所选日期不能小于当前日期!')

    form_args = dict(
        life_time=dict(validators=[date_validator])
    )
    ...

我们在自定义的Views中定义了一个校验器,用来检验用户选择的日期是否合法。
试试我们的校验器是否起作用:

validator

相关文章

  • 在Flask-Admin中自定义校验器

    1、问题 当使用Flask web框架开发的web网站时,这个轻型框架有很多拓展来供我们使用,对于后台管理,Fla...

  • Flask自定义转换器要点

    本篇通过两个示例,讲解 Flask 自定义转换器的要点: 1、如果需要校验 URL 中 Path 的规则,在自定义...

  • Angular2+ 表单校验器的使用

    校验器逻辑定义: 校验器的使用: LIST 校验器: 其他校验器 HTML 中的使用 样式:

  • 15.《Angular表单校验》

    一、使用Angular自带的表单校验器 运行结果: 二、自定义表单校验器 当然我们也可以将验证器方法独立出来 使用...

  • JSR-303校验

    JSR303参数校验自定义校验器 自定义注解(仿照JSR303格式) 写一个类继承ConstraintValida...

  • httprunner自定义校验器(validate)整理

    因为httprunner内置的校验器无法满足所有业务需求,自定义校验器使用hook机制实现。将需要的校验函数放置到...

  • Vue 自定义校验

    自定义校验,添加正则校验 以下是常用的正则(补充中)

  • element Form表单自定义校验

    记录下element中Form如何自定义校验 html rules代码 自定义校验图片使用到validator属性...

  • 参数校验优雅写法

    目录 使用validator 项目实战 在全局校验中增加校验异常 自定义参数注解 使用validator java...

  • Jquery validation

    前端表单验证框架 页面引入 默认校验规则 封装后检验器 自定义rules举例(校验用户长度等) Example

网友评论

    本文标题:在Flask-Admin中自定义校验器

    本文链接:https://www.haomeiwen.com/subject/sptofxtx.html