当前位置: 首页 > 知识库问答 >
问题:

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

淳于思淼
2023-03-14

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

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

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

共有3个答案

公羊雅达
2023-03-14

对于Angular2

<input type='email' 
    [(ngModel)]='contact.email'
    [required]='!contact.phone' >
谷梁驰
2023-03-14

如果要输入,则在写入其他内容时需要输入:

   <input type='text'
   name='name'
   ng-model='person.name'/>

   <input type='text'
   ng-model='person.lastname'             
   ng-required='person.name' />  

当做

锺离声
2023-03-14

没有必要编写自定义指令。Angular的留档不错,但不完整。事实上,有一个名为ng必需的指令,它采用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/

 类似资料:
  • 问题内容: 假设我们正在使用AngularJS构建通讯簿应用程序(设计示例)。 我们有一个联系人表单,其中包含电子邮件和电话号码的输入,我们想要 一个或另一个 ,但 不能同时 要求 两个 :我们只希望输入为空或无效的情况下才需要输入,反之亦然。 Angular有一个指令,但是从文档中尚不清楚在这种情况下如何使用它。那么,我们如何有条件地需要一个表单字段呢?编写自定义指令? 问题答案: 无需编写自定

  • 我使用模板驱动的表单添加任务,有2个输入字段,类型为number,用于估计完成任务的分钟数, 一个字段用于估计小时数和 因为任务估计可以在几个小时内完成,比如1小时,或者在几个小时和几分钟内完成,比如1小时30分钟,所以我想有条件地设置输入所需的属性。因此,必须设置2个输入中的一个,否则在提交表单时,如果两个输入都为空,将发生表单验证错误。 到目前为止,我已经这样做了,但验证不起作用

  • 问题内容: 我正在使用“可拖动”指令来支持图像拖动。但是,根据用户的角色,我需要为某些用户组禁用图像拖动。我使用了以下代码。 该方法在模板范围内,并返回或。我不想为所返回的每个值创建两个大的重复元素。换句话说,我不是在寻找以下方法来解决此问题。 还有其他方法可以避免代码重复吗? 问题答案: Angular包含对有条件声明HTML属性的支持,作为动态标题指令。 的官方文件 例 在您的情况下,代码可能

  • 问题内容: Q1。假设我想在按下主“删除”按钮之前更改用户标记为要删除的每个“项目”的外观。(这种立即的视觉反馈应该消除了众所周知的“您确定吗?”对话框的需要。)用户将选中复选框以指示应删除哪些项目。如果未选中此复选框,则该项目应恢复为正常外观。 应用或删除CSS样式的最佳方法是什么? Q2。假设我想允许每个用户个性化展示我的网站。例如,从一组固定的字体大小中进行选择,允许用户定义前景色和背景色等

  • 在html: 在cmsText.js中 在cmsText.html 我希望输入标签中的“必需”字仅在设置为true时显示,在设置为false时该字消失。有人能帮忙吗?

  • 我试图使用Angularjs验证来在列表中至少有一个输入被填写时启用按钮。我所做的工作类似于下面的w3schools示例: 用角验证做这件事的最好方法是什么?