greyli / helloflask

Hello, Flask!
https://docs.helloflask.com
MIT License
1.85k stars 2.52k forks source link

【勘误】行内验证器validate_字段属性名的参数问题 #244

Closed Skylor-Tang closed 2 years ago

Skylor-Tang commented 3 years ago

Meta

错误详细信息

在表单类中的自定义验证器需要的两个参数为form以及field,但是在表单类中定义的时候,form最好还是写成self(虽然没有影响),符合Python要求:

class FortyTwoForm(FlaskForm):
    answer = IntegerField("The Number")
    submit = SubmitField()

    def validate_answer(self, field):  # form修改为self
        if field.data != 42:
            raise ValidationError('Must be 42.')
greyli commented 2 years ago

谢谢!这里为了便于理解验证器的通用编写模式,决定还是沿用 form,不过在下面的段落添加了解释,指出也可以按照惯例使用 self 命名类实例参数。