235

AngularJSを使用して名簿アプリケーション(考案された例)を構築しているとします。

メールアドレスと電話番号を入力する連絡先のフォームがあり、どちらか一方を要求しますが、両方は要求しません。入力が空または無効の場合にのみemail入力を要求しますphone。その逆も同様です。

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

4

6 に答える 6

468

カスタムディレクティブを作成する必要はありません。Angularのドキュメントは優れていますが、完全ではありません。実際ngRequired、 Angular式をとるというディレクティブがあります。

<input type='email'
       name='email'
       ng-model='contact.email' 
       placeholder='your@email.com'
       ng-required='!contact.phone' />

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

より完全な例を次に示します。http://jsfiddle.net/uptnx/1/

于 2012-11-20T03:24:40.180 に答える
0

角度 2 の場合

<input [(ngModel)]='email' [required]='!phone' />
<input [(ngModel)]='phone' [required]='!email' /> 
于 2021-01-13T13:41:50.183 に答える