Проверка формы зависит от другого поля

У меня есть угловая форма, и у меня есть два поля ввода, одно для формы и одно для электронной почты.

Я хочу запросить электронную почту ИЛИ телефон, как мне это сделать?

Я пытался сделать: ng-reqired="myForm.phone.$invalid", но это, похоже, не работает, как только вы вводите одно из полей (и оба стали действительными), поэтому даже после удаления ввода оба ввода остаются в силе (потому что, как только phone вступил в силу, email вступил в силу.

вот мой JSfiddle: Js Fiddle

У меня есть краткосрочное решение, делая ng-required="myForm.email.$viewValue == ''", но я ищу лучшего.

потому что это будет проверять только то, является ли другое поле пустым, и я хочу проверить, является ли оно действительным, например, когда у пользователя недействительный адрес электронной почты, если потребуется телефон.

1 ответ

Решение

Ты можешь использовать ng-required="!form.phone && !form.email" для обоих текстовых полей.

Это означает, что когда обе модели пусты, required установлен для этого входа, иначе сбросьте его.

Другие вопросы по тегам