## ---
angularjs在表单方面最明显也最实用的特点,就是扩展了很多校验方面的指令,结合一些其他内置指令,可以让表单基本交互的实现变得非常简单。下面一个最简单的例子,大家随意感受下:
<iframe width="100%" height="300" src="http://jsfiddle.net/ddcat1115/rLgY9/28/embedded/html,css,result" allowfullscreen="allowfullscreen" frameborder="0"></iframe>
###
-
可嵌套
-
具有的属性*$pristine——没有填写记录,bull*$dirty——有填写记录,bull*$valid——通过验证,bull*$invalid——未通过验证,bull*$error——错误信息,对象,主要包含以下几个属性,属性值为对应字段列表(貌似直接用form的$error属性的比较少)*email*max*maxlength*min*minlength*number*pattern*required*url
- <div>可以给form标签加上“novalidate”,用来禁掉html5内置校验</div>
- <div>如果要用原生form,可以给form标签加上“ng-pristine”指令</div>
###
跟form一样,表单内的所有控件也不再是原生控件,而是NgModelController2 的实例,它同样拥有上面form的五个属性
-
number,附带多了max , min 属性
-
url
-
email
-
ng-model——绑定的数据
-
required——是否必填
-
ng-minlength——最小长度
-
ng-maxlength——最大长度
-
ng-pattern——匹配模式
-
ng-change——值变化时的回调
- <div>控件必须加ng-model,否则无法校验</div>
###
-
ng-valid——验证通过时自动添加
-
ng-invalid——验证失败时自动添加
-
ng-pristine——未填入任何数据前
-
ng-dirty——填过数据后
###