【问题标题】:WTForms Validation Error on ListFieldListField 上的 WTForms 验证错误
【发布时间】:2013-04-13 10:01:06
【问题描述】:

我收到以下错误

ValidationError: ValidationError(Value must be one of ['AL','CT', 'DE', 'FL'... 'WY']: ['state'])

但是当我在我的模型中时,我似乎无法弄清楚为什么它会验证该字段;

class User(mongoengine.Document): 

    username = mongoengine.StringField(unique=True, max_length=30, required=True,verbose_name="Pick a Username") 
    state = mongoengine.ListField(required=False, verbose_name="State", choices=[('AL' , 'Alabama'), ('AK' , 'Alaska') ,('AZ' , 'Arizona'), ('AR' , 'Arkansas') ,('CA' , 'California'), ('CO' , 'Colorado') ,('CT' , 'Connecticut'), ('DE' , 'Delaware') ,('FL' , 'Florida')...('WY' , 'Wyoming')]) 

user_form = model_form(User, exclude=['password','name','address','address2','zipcode','state']) 
signup_form = model_form(User, exclude=['name','address','address2','zipcode','state'])

我很茫然,因为我虽然起初 require=false 意味着它会被忽略,其次 exclude 也让我认为它应该被忽略。为什么这个验证错误仍然发生(除了我没有在表格中填写它的事实)?如需更多上下文,可以在此处找到完整的 model.py 和 app.py

https://github.com/markbreneman/TroubleShooting/tree/master/SecondNatureWebsite

【问题讨论】:

    标签: python validation wtforms flask-wtforms


    【解决方案1】:

    required=False 表示用户没有义务在该字段中输入至少 1 个数据。 可能您输入表单中的选项与字段的预定义选项不匹配。

    【讨论】:

    • 好的,我可以调查一下,但这仍然不能解释为什么当我有它时它包含在表单中,排除表单中的状态。
    • 我喜欢你为那个 1 实体使用数据;)
    猜你喜欢
    • 1970-01-01
    • 2014-01-21
    • 2023-02-02
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多