У меня угловая форма, и у меня есть два поля ввода: один для формы и один для электронной почты.
Я хочу потребовать адрес электронной почты или телефон, как мне это сделать?
Я пытался сделать: ng-reqired="myForm.phone.$invalid"
, но это не работает, как только вы ввели одно из полей (и оба стали действительными), поэтому даже после удаления ввода, оба входа все еще действительны, (потому что после того, как phone
стал действительным, email
стала действительным.
вот мой JSfiddle: Js Fiddle
У меня есть краткосрочное решение, выполнив ng-required="myForm.email.$viewValue == ''"
, но я ищу лучшего.
потому что это только проверяет, пустое ли другое поле, и я хочу проверить, действительно ли он действителен, например, когда пользователь имеет недействительный адрес электронной почты, если телефон потребуется.
Вы можете использовать ng-required="!form.phone && !form.email"
для обоих текстовых полей.
Это означает, что, когда обе модели пустые, для этого ввода задается required
, иначе его не удалять.