У меня есть угловая форма (называемая saveForm
), которая имеет кучу текстовых входов для привязки к переменной, называемой billingAddress
. Каждый вход выглядит примерно так:Сводка валидации
<div class="col-md-4 col-sm-4">
<div class="editor-label">
<label for="billName">Name*</label>
</div>
<div>
<input type="text" class="form-control" title="{{billingAddress.name}}"
id="billName" name="billName" ng-model="billingAddress.name" required />
<span class="field-validation-error"
ng-show="saveForm['billName'].$error.required">
{{saveForm['billName'].$error.message}}
</span>
</div>
</div>
Очевидно, что у меня есть еще много входов (и каждый вход имеет другое название, как name="billAddress1"
или name="billCity"
). Все это внутри UI Bootstrap <accordion>
. В <accordion-heading>
я хочу показать сообщение, если какая-либо из проверок формы, связанных с платежным адресом, терпит неудачу. Но у меня есть много входов, и я хочу, чтобы избежать этого в настоящее время раздутое решения:
<accordion-heading>
Billing Address
<i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': billingAccordionObj.open
, 'glyphicon-chevron-right': !billingAccordionObj.open}">
</i>
<span class="field-validation-error" ng-show="saveForm['billName'].$error.required
|| saveForm['billAddress1'].$error.required
|| saveForm['billCity'].$error.required"
... all the other fields>
Invalid Billing Address
</span>
</accordion-heading>
Есть ли более элегантный способ иметь это резюме появляться какой-либо ошибка, связанной только с моим billingAddress
объектом? Или я застрял, набрав все имена полей ввода?
Хорошо, это было бы хорошо, за исключением того, что другие части формы другие проверки, которые я не хочу взаимодействовать с адресом. – ryanyuyu
@ryanyuyu Усовершенствовал мой ответ и добавил способ показать сообщение проверки только для определенных полей. Надеюсь, это соответствует вашим потребностям. – Numyx
Да, я думаю, что рефакторинг в функцию вроде этого касается того, с чем мне нужно работать. Благодарю. – ryanyuyu