本文介绍 django.forms.Field.required
的用法。
声明
Field.required
默认情况下,每个 Field
类都假定该值是必需的,因此如果您传递一个空值 - None
或空字符串 ( ""
) - 那么 clean()
将引发 ValidationError
异常:
>>> from django import forms
>>> f = forms.CharField()
>>> f.clean('foo')
'foo'
>>> f.clean('')
Traceback (most recent call last):
...
ValidationError: ['This field is required.']
>>> f.clean(None)
Traceback (most recent call last):
...
ValidationError: ['This field is required.']
>>> f.clean(' ')
' '
>>> f.clean(0)
'0'
>>> f.clean(True)
'True'
>>> f.clean(False)
'False'
要指定字段是not
必需的,请将required=False
传递给Field
构造函数:
>>> f = forms.CharField(required=False)
>>> f.clean('foo')
'foo'
>>> f.clean('')
''
>>> f.clean(None)
''
>>> f.clean(0)
'0'
>>> f.clean(True)
'True'
>>> f.clean(False)
'False'
如果 Field
具有 required=False
并且您传递 clean()
一个空值,则 clean()
将返回一个 normalized
空值,而不是提高 ValidationError
。对于 CharField
,这将返回默认为空字符串的
。对于其他 empty_value
Field
类,它可能是 None
。 (这因领域而异。)
必填表单字段的小部件具有required
HTML 属性。将
属性设置为Form.use_required_attribute
False
以禁用它。 required
属性不包含在表单集的表单中,因为在添加和删除表单集时浏览器验证可能不正确。
相关用法
- Python Django Field.description用法及代码示例
- Python Django Field.type_name用法及代码示例
- Python Django Field.help_text用法及代码示例
- Python Django Field.width用法及代码示例
- Python Django Field.label_suffix用法及代码示例
- Python Django Field.error_messages用法及代码示例
- Python Django Field.as_datetime用法及代码示例
- Python Django Field.label用法及代码示例
- Python Django Field.value用法及代码示例
- Python Django Field.type用法及代码示例
- Python Django Field.as_string用法及代码示例
- Python Django Field.as_int用法及代码示例
- Python Django Field.default用法及代码示例
- Python Django Field.as_double用法及代码示例
- Python Django Field.initial用法及代码示例
- Python Django Field.name用法及代码示例
- Python Django Field.precision用法及代码示例
- Python Django File.save用法及代码示例
- Python File next()用法及代码示例
- Python File tell()用法及代码示例
- Python File seek()用法及代码示例
- Python OpenCV Filter2D()用法及代码示例
- Python File writable()用法及代码示例
- Python File close()用法及代码示例
- Python Django FileField.upload_to用法及代码示例
注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.forms.Field.required。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。