我有一个包含一些输入文本框和一些选择框的表单。我的验证在文本框上工作得很好。我不在乎是否有任何选择框保留默认值,但每次我提交表单时,它都会进入一个 pylons 错误页面,上面写着“无效:请输入...的值”但我不希望那样发生。
这是我的验证器功能:
class Registration(formencode.Schema):
allow_extra_fields=True
first_name = formencode.validators.String(strip=True, not_empty=True)
last_name = formencode.validators.String(strip=True, not_empty=True)
address = formencode.validators.String(strip=True, not_empty=True)
phone = formencode.validators.PhoneNumber(strip=True, not_empty=True)
email = formencode.validators.Email(resolve_domain=True, not_empty=True)
messages = {
'tooLow': "You must be at least 18 in order to register for an event.",
'tooHigh': "You obviously are not that old. Please enter your actual age.",
}
age = formencode.validators.Int(min=18, max=999, not_empty=True, messages=messages)
我认为使用 allow_extra_fields = True 如果留空/默认,它将允许函数中未提供的表单中的字段通过。我选择了应该忽略的名为“听到”、“频率”和“级别”的框。
在这里的任何帮助将不胜感激。