Правильный способ проверить массив внутри формы angularjs? - PullRequest
0 голосов
/ 28 августа 2018

У меня есть форма. Эта форма содержит массив продуктов, т. Е.

[{"productId":"12121212","count":5},{"productId":"22222222","count":6}]

Мне нужно:

  1. Проверьте форму на клиенте и отключите отправку, если любое из полей массива продукта недопустимо.

Могу ли я использовать валидаторы, как я работаю с полями простой формы, и проверять как:

myForm.product[i].productId.$invalid, 
myForm.product[i].productId.$error.required

  1. Проверять форму на сервере при отправке и передавать ошибки клиенту. Теперь я присоединяю сервисную опору 'error', но, похоже, это не обычный способ проверки angularjs.

Plunker link: https://plnkr.co/edit/kbLs3SJE5ybNxIvo3ynq

Любые предложения. Спасибо!

1 Ответ

0 голосов
/ 28 августа 2018

Лучше всего сначала проверить поля ввода на стороне клиента. Чтобы отключить кнопку отправки на основе проверки, вы можете использовать ng-disabled="myForm.$invalid" на кнопку отправки. Это будет работать для проверок HTML в полях ввода, таких как обязательные, ng-minlength, ng-maxlength и т. Д.

Однако для сложных проверок на поле вы можете написать функцию и вызвать ее: ng-disabled="isFormValid()". Эта функция будет перебирать все значения и проверять их действительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...