  class RequiredIfOtherFieldDoesNotEqual:
      def __init__(self, other_field, other_value, error_message=None):
          self.other_field = other_field
          self.other_value = other_value
          self.error_message = error_message or gettext_lazy("This field must be given if %(field)s is not %(value)s") % {
              'field': other_field, 'value': other_value}
          self.always_test = True
  
      def __call__(self, field_data, all_data):
          if all_data.has_key(self.other_field) and all_data[self.other_field] != self.other_value and not field_data:
              raise ValidationError(self.error_message)
 
</s> remove         self.error_message = error_message or gettext_lazy("This field must be given if %(field)s is %(value)s") % {
            'field': other_field, 'value': other_value}
 </s> add         self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is %(value)s"), {
            'field': other_field, 'value': other_value}) </s> remove         self.error_message = error_message or gettext_lazy("This field must match the '%s' field.") % self.other
 </s> add         self.error_message = error_message or lazy_inter(gettext_lazy("This field must match the '%s' field."), self.other) </s> remove         self.min_error_message = min_error_message or gettext_lazy("Make sure your uploaded file is at least %s bytes big.") % min_size
        self.max_error_message = max_error_message or gettext_lazy("Make sure your uploaded file is at most %s bytes big.") % min_size
 </s> add         self.min_error_message = min_error_message or lazy_inter(gettext_lazy("Make sure your uploaded file is at least %s bytes big."), min_size)
        self.max_error_message = max_error_message or lazy_inter(gettext_lazy("Make sure your uploaded file is at most %s bytes big."), min_size) </s> remove from django.utils.functional import Promise
 </s> add from django.utils.functional import Promise, lazy

lazy_inter = lazy(lambda a,b: str(a) % b, str)
        self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is not %(value)s"), {
            'field': other_field, 'value': other_value})
  class RequiredIfOtherFieldDoesNotEqual:
      def __init__(self, other_field, other_value, error_message=None):
          self.other_field = other_field
          self.other_value = other_value
        self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is not %(value)s"), {
            'field': other_field, 'value': other_value})
        self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is not %(value)s"), {
            'field': other_field, 'value': other_value})
          self.always_test = True
  
      def __call__(self, field_data, all_data):
          if all_data.has_key(self.other_field) and all_data[self.other_field] != self.other_value and not field_data:
              raise ValidationError(self.error_message)
keep keep keep keep replace replace keep keep keep keep keep
 fixed a bug with some validators that used parameterized gettext_lazy strings and forced them to the default language because of the % operator. Now lazy string interpolation is used.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@1330 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
django/core/validators.py