小编典典

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

all

假设我们正在使用 AngularJS 构建一个地址簿应用程序(人为的示例)。

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

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


阅读 62

收藏
2022-06-02

共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/

2022-06-02