老师, 我想问一下, 如果编辑的时候form验证唯一怎么处理?

来源:9-15 访问权限控制

慕粉3920523

2018-04-15

我想在表单中处理的话怎么排除当前当前编辑字段之后再验证唯一?

比如说我要编辑一篇文章

# forms
class ArticleForm(FlaskForm):
    ...
    def validate_title(self,field):
        article = Article.query.filter_by(title=field.data).first()
        if article:
            raise ValidationError("文章标题已经存在")

这个form验证新增文章的时候没有问题, 但是编辑文章的时候,如果没有改动title会提示“标题已经存在”。

我昨晚想了一下可以用继承解决这个问题,编辑的时候单独定义一个 ArticleEditForm 继承ArticleForm。 

但是还是有一个问题,我如何把这个文章的ID传入 validate_title这个方法中。

写回答

3回答

7七月

2018-04-15

编辑和新增时都要验证的字段写到基类里。特殊的写在子类里,比如标题这个字段的验证。

0
0

runzx

2018-04-15

我猜是类似 注册时 对电子邮件唯一性检查, 可以通过ajax把字段数据传回后台验证。

0
0

7七月

2018-04-15

可以具体一些吗?什么是验证唯一?什么是当前编辑字段?

0
1
慕粉3920523
我重新修改了一下问题, 用flask实际开发中是怎么解决这个问题的?
2018-04-15
共1条回复

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2735 学习 · 1267 问题

查看课程