Ticket #2014: required-if-other_label-insteadof-value.patch

File required-if-other_label-insteadof-value.patch, 2.0 KB (added by anonymous, 18 years ago)
  • django/core/validators.py

     
    276276        RequiredIfOtherFieldsGiven.__init__(self, [other_field_name], error_message)
    277277
    278278class RequiredIfOtherFieldEquals:
    279     def __init__(self, other_field, other_value, error_message=None):
     279    def __init__(self, other_field, other_value, other_label=None, error_message=None):
    280280        self.other_field = other_field
    281281        self.other_value = other_value
    282         self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is %(value)s"), {
    283             'field': other_field, 'value': other_value})
     282        if other_label is None:
     283            other_label = other_value
     284        self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is %(label)s"), {
     285            'field': other_field, 'label': other_label})
    284286        self.always_test = True
    285287
    286288    def __call__(self, field_data, all_data):
     
    288290            raise ValidationError(self.error_message)
    289291
    290292class RequiredIfOtherFieldDoesNotEqual:
    291     def __init__(self, other_field, other_value, error_message=None):
     293    def __init__(self, other_field, other_value, other_label=None, error_message=None):
    292294        self.other_field = other_field
    293295        self.other_value = other_value
    294         self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is not %(value)s"), {
    295             'field': other_field, 'value': other_value})
     296        if other_label is None:
     297            other_label = other_value
     298        self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is not %(label)s"), {
     299            'field': other_field, 'label': other_label})
    296300        self.always_test = True
    297301
    298302    def __call__(self, field_data, all_data):
Back to Top