newforms: Changed Form.ignore_errors to Form.is_bound, which is more descriptive and can be helpful to access at runtime
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4286 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
61ede43202
commit
02f690f738
|
@ -40,7 +40,7 @@ class BaseForm(StrAndUnicode):
|
|||
# information. Any improvements to the form API should be made to *this*
|
||||
# class, not to the Form class.
|
||||
def __init__(self, data=None, auto_id='id_%s', prefix=None):
|
||||
self.ignore_errors = data is None
|
||||
self.is_bound = data is not None
|
||||
self.data = data or {}
|
||||
self.auto_id = auto_id
|
||||
self.prefix = prefix
|
||||
|
@ -73,7 +73,7 @@ class BaseForm(StrAndUnicode):
|
|||
Returns True if the form has no errors. Otherwise, False. If errors are
|
||||
being ignored, returns False.
|
||||
"""
|
||||
return not self.ignore_errors and not bool(self.errors)
|
||||
return self.is_bound and not bool(self.errors)
|
||||
|
||||
def add_prefix(self, field_name):
|
||||
"""
|
||||
|
@ -137,7 +137,7 @@ class BaseForm(StrAndUnicode):
|
|||
Cleans all of self.data and populates self.__errors and self.clean_data.
|
||||
"""
|
||||
errors = ErrorDict()
|
||||
if self.ignore_errors: # Stop further processing.
|
||||
if not self.is_bound: # Stop further processing.
|
||||
self.__errors = errors
|
||||
return
|
||||
self.clean_data = {}
|
||||
|
@ -217,7 +217,7 @@ class BoundField(StrAndUnicode):
|
|||
auto_id = self.auto_id
|
||||
if auto_id and not attrs.has_key('id') and not widget.attrs.has_key('id'):
|
||||
attrs['id'] = auto_id
|
||||
if self.form.ignore_errors:
|
||||
if not self.form.is_bound:
|
||||
data = self.field.initial
|
||||
else:
|
||||
data = self.data
|
||||
|
|
|
@ -1502,6 +1502,8 @@ You can pass it data in __init__(), as a dictionary.
|
|||
|
||||
Pass a dictionary to a Form's __init__().
|
||||
>>> p = Person({'first_name': u'John', 'last_name': u'Lennon', 'birthday': u'1940-10-9'})
|
||||
>>> p.is_bound
|
||||
True
|
||||
>>> p.errors
|
||||
{}
|
||||
>>> p.is_valid()
|
||||
|
@ -1540,6 +1542,8 @@ Birthday 1940-10-9
|
|||
|
||||
Empty dictionaries are valid, too.
|
||||
>>> p = Person({})
|
||||
>>> p.is_bound
|
||||
True
|
||||
>>> p.errors
|
||||
{'first_name': [u'This field is required.'], 'last_name': [u'This field is required.'], 'birthday': [u'This field is required.']}
|
||||
>>> p.is_valid()
|
||||
|
@ -1569,9 +1573,11 @@ AttributeError: 'birthday' object has no attribute 'clean_data'
|
|||
<p><label for="id_birthday">Birthday:</label> <input type="text" name="birthday" id="id_birthday" /></p>
|
||||
|
||||
If you don't pass any values to the Form's __init__(), or if you pass None,
|
||||
the Form won't do any validation. Form.errors will be an empty dictionary *but*
|
||||
Form.is_valid() will return False.
|
||||
the Form will be considered unbound and won't do any validation. Form.errors
|
||||
will be an empty dictionary *but* Form.is_valid() will return False.
|
||||
>>> p = Person()
|
||||
>>> p.is_bound
|
||||
False
|
||||
>>> p.errors
|
||||
{}
|
||||
>>> p.is_valid()
|
||||
|
|
Loading…
Reference in New Issue