1. ホーム
  2. forms

[解決済み] AngularJSでフォームの入力を条件付きで要求するにはどうすればよいですか?

2022-04-05 10:58:10

質問

AngularJSで住所録アプリケーション(作為的な例)を作るとします。

メールアドレスと電話番号を入力する連絡先用のフォームがあり、そのフォームに どちらか一方 しかし 両方ではない : 私たちが欲しいのは email の入力が必要な場合 phone 入力が空か無効な場合、またはその逆の場合。

Angularは required ディレクティブがありますが、この場合どのように使用するのか、ドキュメントでは明らかではありません。では、どのようにすれば条件付きでフォームフィールドを要求できるのでしょうか? カスタムディレクティブを書けばいいのでしょうか?

どのように解決するのですか?

カスタムディレクティブを書く必要はありません。Angularのドキュメントは良いのですが、完全ではありません。 実際に というディレクティブがあります。 ngRequired これはAngularの式を受け取ります。

<input type='email'
       name='email'
       ng-model='contact.email' 
       placeholder='[email protected]'
       ng-required='!contact.phone' />

<input type='text'
       ng-model='contact.phone'             
       placeholder='(xxx) xxx-xxxx'
       ng-required='!contact.email' />  

より完成度の高い例をご紹介します。 http://jsfiddle.net/uptnx/1/