4
我对WTForms validators.optional()有问题,因为如果字段为空(WTForms docs),它会停止验证链。这意味着验证不会继续使用自定义函数,这可能会导致类型错误。WTForms validators.optional:继续验证空字段?
代码示例:
class MyForm(form):
myfield = TextField('My Field', [validators.Optional()])
def validate_myfield(form, field):
field.data = unicode(field.data)
有什么办法或变通方法继续验证链即使可选内容是空的,也许使用custom validators?
如果我以错误的方式接近问题,提示正确的方向将有所帮助!
是否有一个原因,你不能只在可选的验证器列表中放置自定义验证器? (验证器按顺序评估) – dagoof 2011-04-01 14:10:46
您的评论帮助,使其成为答案,以便我可以选择它。 – lecodesportif 2011-04-01 15:16:52
出于兴趣,如果该字段为空,为什么还需要继续验证?通常情况下,只能用两种方式对空值作出反应,要么是错误(不是可选的),要么是不是错误(是可选的),而是以某种不变的方式处理它(因为值始终相同)。如果您遇到类型错误,您是否试图在验证器中执行某些并不属于该验证器的操作?我不熟悉WTForms,但显然你可以创建自定义字段,它也可以处理任何自定义分析需求。 – 2011-04-01 16:01:03