2024-09-29 21:41:18 发布
网友
我如何基于另一个字段有条件地验证一个字段的存在。例如,仅当“country”为“US”时才需要“state”。在
谢谢, 史蒂夫
编辑:
所以我想这样做:
chained_validators = [validators.RequireIfPresent('state', present="country")]
但是错误消息与“_the_form”关联,而不是“state”。有没有办法把它链接到字段?在
在我公司的一个项目中也遇到了同样的问题。我们为此编写了自己的Formencode验证器。我们目前正在尝试将其与主项目合并。同时你可以在这里下载:https://github.com/GevatterGaul/formencode
德语里也有一个Howto:http://techblog.auf-nach-mallorca.info/2014/08/19/dynamische_formulare_validieren_mit_formencode/
但让我根据你的例子给你一个简短的概述:
from formencode import validators v = validators.RequireIfMatching('country', expected_value='US', required_fields=['state']) v.to_python(dict(country='US', state='Virginia'))
主要的好处是,与validators.RequireIfPresent相比,validators.RequireIfMatching只在给定字段与给定值匹配时才需要字段。在您的示例中,只有当“country”为“US”时,它才需要“state”字段。在
validators.RequireIfPresent
validators.RequireIfMatching
希望我能帮忙。在
在我公司的一个项目中也遇到了同样的问题。我们为此编写了自己的Formencode验证器。我们目前正在尝试将其与主项目合并。同时你可以在这里下载:https://github.com/GevatterGaul/formencode
德语里也有一个Howto:http://techblog.auf-nach-mallorca.info/2014/08/19/dynamische_formulare_validieren_mit_formencode/
但让我根据你的例子给你一个简短的概述:
主要的好处是,与
validators.RequireIfPresent
相比,validators.RequireIfMatching
只在给定字段与给定值匹配时才需要字段。在您的示例中,只有当“country”为“US”时,它才需要“state”字段。在希望我能帮忙。在
相关问题 更多 >
编程相关推荐