angularjs 表单校验指令_AngularJs表单校验功能实例代码

废话不多说了,具体代码如下所示:

angular表单校验

span{

color: red;

}

用户名

*

只能输入数字

最少为6位数

密码

*

最少为6位数

确认密码

*

X

OK

手机

*

只能输入数字

手机格式不正确

邮箱

*

邮箱格式不正确

URL

*

URL格式不正确

(注:*为必填)

js代码(除了指令意外,没什么可用的,写出来只是为了,说一下mvc模式而已!)

var app = angular.module("angularFormCheckModule",[]);

/*这里使用MVC的模式(用来举例说明MVC而已)*/

app.controller("angularFormCheckCtrl",function($scope,angularFormCheckFactory){//function里的参数写你在函数里需要用到的

$scope.testVar = angularFormCheckFactory.getTest();//这里就能取到$scope.testVar的值为---"练习angular表单校验";

$scope.user = {};

$scope.test= "sss";

});

/*自己可以去看factory、service、providers的区别(http://www.oschina.net/translate/angularjs-factory-vs-service-vs-provider)*/

/*用 Factory 就是创建一个对象,为它添加属性,然后把这个对象返回出来。*/

app.factory('angularFormCheckFactory',function(){

//这里写自己的业务逻辑

var test = "练习angular表单校验";

var service = {};//自定义一个对象

service.getTest = function(){//给对象添加方法

return test;

}

return service;//返回自定义的service对象!!!

});

/*自定义指令--比较两个密码是否相等.angular的指令是驼峰的形式(这里是comparePwd页面就是compare-pwd)*/

app.directive('comparePwd',function(){

/*angular 自定义指令,可上网自行查找*/

return{

require : 'ngModel',

/*scope表示作用域,elem表示使用这个指令的元素对象(这里指第二个密码框),attrs。。。ctrl。。。*/

link : function(scope,elem,attrs,ctrl){

/*写自己的业务逻辑*/

//注意这样取值的话,第一密码框的Id值必须要设置且必须与第二个密码框的compare-pwd属性的值相同

var firstPwdIdObj = "#" + attrs.comparePwd;

$(elem).add(firstPwdIdObj).on('keyup',function(){

/*手动执行脏检查*/

scope.$apply(function(){

//$(firstPwdIdObj).val()表示第一个密码框的值。elem.val()表示第二个密码框的值

var flag = elem.val() === $(firstPwdIdObj).val();

//alert(flag+",--"+elem.val()+",--"+$(firstPwdIdObj).val());

ctrl.$setValidity("pwdmatch",flag);//flag,表示是否相等。pwdmatch用于$error时的标识符,注意看页面,$setValidity是require中ngModel的方法!

});

});

}

}

});

下面看一段代码关于AngularJs获取焦点与失去焦点时的表单验证

angular.module('formExample', [])

.controller('FormController', ['$scope', function($scope)

{

$scope.userType = 'guest';

$scope.change = false;

}]);

userType:

必填项

以上所述是小编给大家介绍的AngularJs表单校验功能实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值