required和ng-required(表单验证)之间的区别是什么?
AngularJS表单元素寻找执行验证函数所需的属性。ng-required允许您根据布尔测试设置required属性(例如,只需要字段B -例如,一个学生编号-如果字段a有某个值-如果您选择了“student”作为选项)
例如,<input required>和<input ng-required="true">本质上是一样的
如果你想知道为什么会这样,(而不仅仅是让<input required="true">或<input required="false">),这是由于HTML的局限性——required属性没有相关的值——它的存在仅仅意味着(根据HTML标准)元素是必需的——所以angular需要一种方法来设置/取消设置required值(required="false"将是无效的HTML)。
我想为蒂亚戈的答案做一个插件:
假设你正在使用ng-show隐藏元素,并在相同的元素上添加一个必选属性:
<div ng-show="false">
<input required name="something" ng-model="name"/>
</div>
将抛出一个错误,类似于:
name= "无效的窗体控件不可聚焦
这是因为您不能对隐藏元素施加必需的验证。使用ng-required可以更容易地有条件地应用所需的验证,这非常棒!!
HTML属性required="required"是一条语句,告诉浏览器为了表单有效,这个字段是必需的。(required="required"是XHTML表单,只使用required是等效的)
Angular属性ng-required="yourCondition"的意思是'isRequired(yourCondition)',它会根据你的情况动态地为你设置这个HTML属性。
还要注意的是,HTML版本是令人困惑的,它不可能写一些有条件的东西,如required="true"或required="false",只有属性的存在才重要(present意味着true) !这就是Angular帮助你处理ng-required的地方。
推荐文章
- 如何在AngularJS中动态添加指令?
- 如何在AngularJS中观察路由变化?
- 实例化模块失败[$injector:unpr]未知提供者:$routeProvider
- 在AngularJS中集成jQuery插件的正确方法
- 如何设置一个iframe src属性从一个变量在AngularJS
- 如何在Angular中使用$rootScope来存储变量?
- AngularJS:工厂和服务?
- 父ng-repeat从子ng-repeat的访问索引
- AngularJS使用ng-class切换类
- 如何在Angular.js中配置不同的环境?
- 当使用ng-model时,输入文本框上的Value属性被忽略?
- 使用AngularJS跟踪谷歌分析页面视图
- 在“DOMWindow”上执行“postMessage”失败:https://www.youtube.com !== http://localhost:9000
- Angular中相当于AngularJS $watch的东西是什么?
- AngularJS路由不带散列“#”