AngularJS是一款优秀的前端JS框架,已经被用于Google的多款产品当中。它有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等……使用它可以大大减少书写代码的工作量,但和Jquery不同,使用AngularJS有一定的难度,因此今天我将介绍以下怎样使用AngularJS来对表单的提交内容进行验证。
AngularJS对表单中常用的验证操作
$dirty 表单有填写记录
$valid 字段内容合法的
$invalid 字段内容是非法的
$pristine 表单没有填写记录
$error 表单验证不通过的错误信息
1.相关插件的导入:AngularJS和Jquery一样,是一种由程序员用js编写好然后封装起来的js插件,因此在使用之前要用以下代码来导入它。
<script src="/UploadFiles/2021-04-02/angular.js">注:该js插件最好放在body之后,自己写的js代码则放在AngularJS之后防止产生错误。
2.在导入完AngularJS插件之后,我们首先要在body中创建一个form表单,用于接下来的操作,然后在表单上或者body上加上ng-app=""属性来确定AngularJS的作用域,一般
推荐加在body上。
<body ng-app="app" ng-controller="ctrl"></body>注:ng-controller="ctrl"用于设置控制器。
3.给form表单和input的name属性命名,给form及input设置name后会将form表单信息默认绑定到$scope作用域中,故可以使用formName.inputName.$验证操作 得到验证结果。
<form class="form-horizontal" name="myForm" novalidate> <input type="text" name="name" > <input type="email" name="mail"> <input type="password" name="pwd" > </form>novalidata用于禁止h5自带的表单验证,防止多余影响。
例如:
myForm.text.$dirty="true";表单被填写过 myForm.text.$invalid"true";表单输入不合法 myForm.text.$error.required="true";表单必填但未填。4.给input加上对应的验证:
<input type="text" name="name" ng-minlength="4" ng-maxlength="10" required ng-class="{erro:myForm.name.$invalid&&myForm.name.$dirty}"/> <input type="email" name="mail" required /> <input type="password" name="pwd" ng-model="user.pwd" pattern="^\w{6,18}$"/>注:
以上代码对text设置了最小长度4,最大长度10,必填的验证信息,
对email则使用了email自带验证,增加了必填要求,
对password则是设置了正则验证要求是6到18位的字母数字下划线。
5.给提交按钮加上
ng-disabled="myForm.$dirty&&myForm.$invalid
"属性在表单输入不合法时将按钮禁用来阻止表单内容提交。注:myForm.$dirty&&myForm.$invalid表示在表单有输入的情况下输入错误。
以上步骤完成之后表单的验证就完成了,也可以加上span的
ng-show="myForm.name.$invalid&&myForm.name.$dirty
"属性来设置在不同错误时出现不同的提示信息,这样,一个可以验证是否提交的表单就完成了。以上所述是小编给大家介绍的使用AngularJS对表单提交内容进行验证的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
angularjs,表单提交验证
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。