AngularJS提供了丰富的表单验证指令,可以轻松实现对用户输入的校验,以保证数据的准确性和完整性。
失去焦点验证
AngularJS通过ng-blur
指令可以很方便地实现失去焦点时的表单验证。具体步骤如下:
- 在HTML表单元素上添加相应的验证指令,如
ng-pattern
、ng-minlength
、ng-maxlength
等; - 添加一个提示信息的元素或指令,如
ng-show
,并绑定验证表达式和提示信息; - 在表单元素上添加
ng-model
指令,绑定数据模型; - 在表单元素上添加
ng-blur
指令,绑定验证函数,如checkValidity()
。
示例1: 实现一个验输入是否为数字的功能
HTML代码如下:
<form name="myForm">
<input type="text" name="myInput" ng-model="myModel" ng-pattern="/^\d+$/"
ng-blur="checkValidity()">
<span ng-show="myForm.myInput.$error.pattern">请输入数字</span>
</form>
在以上代码中,ng-pattern
中的正则表达式规定了输入必须为数字,ng-blur
中的checkValidity()
会在失去焦点时进行验证,ng-show
会在表单验证不通过时显示提示信息。
示例2:实现一个验证输入长度的功能
HTML代码如下:
<form name="myForm">
<input type="text" name="myInput" ng-model="myModel" ng-minlength="3" ng-maxlength="6"
ng-blur="checkValidity()">
<span ng-show="myForm.myInput.$error.minlength">输入长度太短</span>
<span ng-show="myForm.myInput.$error.maxlength">输入长度太长</span>
</form>
在以上代码中,ng-minlength
和ng-maxlength
分别规定了输入的最小长度和最大长度,ng-blur
中的checkValidity()
会在失去焦点时进行验证,ng-show
会在表单验证不通过时分别显示对应的提示信息。
点击提交验证
除了失去焦点验证外,AngularJS还提供了一种点击提交时进行表单验证的方式,适用于需要一次性提交多个表单元素的场景。具体步骤如下:
- 在表单元素上添加
ng-submit
指令,绑定提交函数; - 在提交函数中,对表单元素进行验证,如
$scope.myForm.$valid
可以判断表单是否有效。
示例1:实现一个点击提交时的表单验证
HTML代码如下:
<form name="myForm" ng-submit="submitForm()">
<input type="text" name="myInput" ng-model="myModel" ng-pattern="/^\d+$/">
<span ng-show="myForm.myInput.$error.pattern">请输入数字</span>
<button type="submit">提交</button>
</form>
在以上代码中,ng-submit
会在点击提交按钮时触发submitForm()
函数,$scope.myForm.$valid
可以判断表单是否有效。
示例2:实现一个点击提交时验证多个表单元素的功能
HTML代码如下:
<form name="myForm" ng-submit="submitForm()">
<input type="text" name="myName" ng-model="myName" ng-minlength="3" ng-maxlength="6">
<span ng-show="myForm.myName.$error.minlength || myForm.myName.$error.maxlength">请输入3~6个字符</span>
<input type="text" name="myAge" ng-model="myAge" ng-pattern="/^[1-9]\d*$/" ng-maxlength="3">
<span ng-show="myForm.myAge.$error.pattern">请输入数字</span>
<span ng-show="myForm.myAge.$error.maxlength">超出最大数字范围</span>
<button type="submit">提交</button>
</form>
在以上代码中,ng-submit
会在点击提交按钮时触发submitForm()
函数,多个表单元素的验证通过$scope.myForm.$valid
进行判断,相应的提示信息通过ng-show
指令绑定表达式实现。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证) - Python技术站