当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django MultiValueField.require_all_fields用法及代码示例


本文介绍 django.forms.MultiValueField.require_all_fields 的用法。

声明

require_all_fields

默认为 True ,在这种情况下,如果没有为任何字段提供值,则会引发 required 验证错误。

当设置为 False 时,可以将各个字段的 Field.required 属性设置为 False 以使其可选。如果未为必填字段提供值,则会引发 incomplete 验证错误。

可以在 MultiValueField 子类上定义默认的 incomplete 错误消息,或者可以在每个单独的字段上定义不同的消息。例如:

from django.core.validators import RegexValidator

class PhoneField(MultiValueField):
    def __init__(self, **kwargs):
        # Define one message for all fields.
        error_messages = {
            'incomplete': 'Enter a country calling code and a phone number.',
        }
        # Or define a different message for each field.
        fields = (
            CharField(
                error_messages={'incomplete': 'Enter a country calling code.'},
                validators=[
                    RegexValidator(r'^[0-9]+$', 'Enter a valid country calling code.'),
                ],
            ),
            CharField(
                error_messages={'incomplete': 'Enter a phone number.'},
                validators=[RegexValidator(r'^[0-9]+$', 'Enter a valid phone number.')],
            ),
            CharField(
                validators=[RegexValidator(r'^[0-9]+$', 'Enter a valid extension.')],
                required=False,
            ),
        )
        super().__init__(
            error_messages=error_messages, fields=fields,
            require_all_fields=False, **kwargs
        )

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.forms.MultiValueField.require_all_fields。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。