當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。