Show all form-level validation errors, not only one.

Change-Id: Iea1ce98fc20f6b5a4639a407e6e557b57d646755
Fixes: MRN-881.
This commit is contained in:
Timur Sufiev 2013-09-10 17:04:18 +04:00
parent d5c63c096e
commit 38fe87c113
1 changed files with 4 additions and 2 deletions

View File

@ -244,11 +244,13 @@ class ServiceConfigurationForm(UpdatableFieldsForm):
cleaned_data = super(ServiceConfigurationForm, self).clean()
all_data = self.service.update_cleaned_data(self, cleaned_data)
context = yaql.create_context()
error_messages = []
for validator in self.validators:
expr = self.get_yaql_expr(validator['expr'])
if not yaql.parse(expr).evaluate(all_data, context):
raise forms.ValidationError(
_(validator.get('message', '')))
error_messages.append(_(validator.get('message', '')))
if error_messages:
raise forms.ValidationError(error_messages)
for name, field in self.fields.iteritems():
if isinstance(field, fields.PasswordField):