WTForms validators.optional:继续验证空字段吗?
我在使用WTForms的validators.optional()时遇到了一个问题,因为如果字段为空,它会停止验证流程(WTForms文档)。这意味着后面的自定义验证函数就不会继续执行,这可能会导致类型错误。
代码示例:
class MyForm(form):
myfield = TextField('My Field', [validators.Optional()])
def validate_myfield(form, field):
field.data = unicode(field.data)
有没有什么方法或者解决办法可以让验证流程继续,即使可选内容是空的,可能使用自定义验证器?
如果我处理这个问题的方式不对,给我一些正确方向的提示会很有帮助!
1 个回答
11
你可以简单地调整一下验证器的顺序。如果把你自己定义的验证器放在可选验证器之前,这样就能达到你想要的效果,因为它们会按照顺序进行检查。