куиуд
Июль 2, 2008 12:14:31
Мне нужно переопределить метод рендеринга ошибок в формах. У класса BaseForm класс error_class захардкоден в методе full_clean:
self._errors = ErrorDict()
Как мне задать свой класс с переопределенным методом для рендеринга ошибок?
куиуд
Июль 2, 2008 13:31:55
У BaseForm есть в конструктор передается параметр error_class. По умолчанию он равен ErrorList. Я создаю класс ModifiedErrorList и переопределяю у него метод as_ul и, соответственно в конструктор передаю мой класс error_class = ModifiedErrorList. Это для каждого поля в отдельности, т.е. когда я делаю валидацию каждого поля clean_<имя_поля>. Но если использовать clean для валидации всей формы, то, насколько я понимаю, используется класс ErrorDict. И он в методе full_clean класса BaseField захардкоден. В этом то и проблема. Весь метод переписывать - плохое решение. Как это проблему можно решить?