一尘不染

如何有条件地要求使用AngularJS输入表单?

angularjs

假设我们正在使用AngularJS构建通讯簿应用程序(设计示例)。

我们有一个联系人表单,其中包含电子邮件和电话号码的输入,我们想要 一个或另一个 ,但 不能同时 要求 两个
:我们只希望输入为空或无效的情况下email才需要phone输入,反之亦然。

Angular有一个required指令,但是从文档中尚不清楚在这种情况下如何使用它。那么,我们如何有条件地需要一个表单字段呢?编写自定义指令?


阅读 251

收藏
2020-07-04

共1个答案

一尘不染

无需编写自定义指令。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/

2020-07-04