【发布时间】:2020-08-25 13:38:00
【问题描述】:
这是我用于注册新项目和更新现有项目的表格:
class ProjDataForm(FlaskForm):
proj_key = StringField("Project Key", validators=[DataRequired()])
...
def validate_proj_key(self, proj_key):
raise ValidationError("That Project Key already exists.")
这是我的模型:
class ProjectData(db.Model):
proj_key = db.Column(db.String(20), unique=True, nullable=False)
我添加了一个自定义验证,因此我可以拥有一个唯一的“proj_key”来注册新项目。
我做了什么但仍然没有工作(我很可能犯了错误):
#forms
class ProjDataForm(FlaskForm):
...
new_proj = True
if new_proj == True:
def validate_proj_key(self, proj_key)
raise ValidationError("That Project Key already exists.")
#routes
form = ProjDataForm()
form.new_proj = False
if form.new_proj == False and form.validate_on_submit():
...
我知道我的设计不好,我应该重新设计它,但我只是想知道是否可以忽略自定义验证。
【问题讨论】:
标签: python flask flask-wtforms wtforms