1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #26528 -- Allowed any iterable (e.g. tuple) as validators kwarg for form/model fields.

This commit is contained in:
Loïc Bistuer
2016-04-22 07:18:43 +07:00
parent ec6121693f
commit a885bca1df
5 changed files with 39 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ import collections
import copy
import datetime
import decimal
import itertools
import uuid
import warnings
from base64 import b64decode, b64encode
@@ -531,9 +532,11 @@ class Field(RegisterLookupMixin):
@cached_property
def validators(self):
# Some validators can't be created at field initialization time.
# This method provides a way to delay their creation until required.
return self.default_validators + self._validators
"""
Some validators can't be created at field initialization time.
This method provides a way to delay their creation until required.
"""
return list(itertools.chain(self.default_validators, self._validators))
def run_validators(self, value):
if value in self.empty_values:

View File

@@ -6,6 +6,7 @@ from __future__ import unicode_literals
import copy
import datetime
import itertools
import os
import re
import sys
@@ -119,7 +120,8 @@ class Field(object):
messages.update(error_messages or {})
self.error_messages = messages
self.validators = self.default_validators + validators
self.validators = list(itertools.chain(self.default_validators, validators))
super(Field, self).__init__()
def prepare_value(self, value):