Мне нужно проверить форму с кучей входов в ней. И, если вход недействителен, укажите визуально в форме, что определенный атрибут недействителен. Для этого мне нужно проверить каждый элемент формы индивидуально.
У меня есть одна модель и один вид, представляющий всю форму. Теперь, когда я обновляю атрибут:
this.model.set('name', this.$name.val())
будет вызываться метод проверки на модели.
Но в этом методе я проверяю атрибуты all, поэтому при настройке атрибута выше все остальные также проверяются, и если какой-либо из них недействителен, возвращается ошибка. Это означает, что даже если мой атрибут "name" действителен, я получаю ошибки для других.
Итак, как я могу проверить только один атрибут?
Я думаю, что невозможно просто проверить один атрибут с помощью метода validate(). Одно из решений - не использовать метод validate, а вместо этого проверять каждый атрибут на событии "change". Но тогда это сделало бы много обработчиков изменений. Это правильный подход? Что еще я могу сделать?
Я также думаю, что это указывает на большую проблему в позвоночнике:
Всякий раз, когда вы используете
model.set()
для установки атрибута в модели, выполняется ваш метод проверки и проверяются атрибуты all. Это кажется противоречивым, поскольку вы просто хотите, чтобы этот единственный атрибут был проверен.