jQuery Validate 自定义校验及ajax校验

http://www.w3cschool.cc/jquery/jquery-plugin-validate.html这里文档比较全面!

实践:

复杂的一些校验,如正则校验,可以通过jQuery.validate.addMethod()http://jqueryvalidation.org/jQuery.validator.addMethod

来实现,添加完后,就可以通过jQuery.validate()在rules中添加校验规则

jQuery.validator.addMethod("numOrLetter", function(value, element) {
    return this.optional(element) || /^[0-9|A-Z|a-z]+$/.test(value);
}, "请输入数字或字母");
    		
$("#inputForm").validate({
    rules : {
        //要校验的表单名称
        operationCode : {
            //自定义的校验规则
            numOrLetter:true,
            //ajax校验,通过后台服务校验用户所输内容是否已在数据库中存在,后台服务只需要返回true或false即可,boolean类型,String类型都可
             remote:{
                //这里通过get方式,参数放在Url后,刚开始?后写了operationCode=,请求发送后,url变成?operationCode=&operationCode=value
                //所以就去掉了
                url:"${ctx}/operation/operation/validateCode?" + $("#operationCode").val(),
                type:"GET",
                dataType:"json"
                //POST方式时,可以通过
                //data:{paramName:value,...}传递参数
            }
        }
    },
    messages:{
        operationCode:{
            //这里指定出错信息
            remote:"指定的编号已存在"
        }
    }
});
ajax校验,可以使用自带的remote,也可以通过addMethod()添加
jQuery.validator.addMethod("checkUnique", function(value, element) {
    var deferred = $.Deferred();//创建一个延迟对象
    $.ajax({
        url:"${ctx}/operation/operation/listJson?operationCode="+value,
        async:false,//要指定不能异步,必须等待后台服务校验完成再执行后续代码
        dataType:"json",
        success:function(page) {
            var len = page.rows.length;
            if (len > 0) {
                deferred.reject();
            } else {
                deferred.resolve();    
            }
        }
    });
    //deferred.state()有3个状态:pending:还未结束,rejected:失败,resolved:成功
    return deferred.state() == "resolved" ? true : false;
}, "编号已存在");

通过addMethod()添加的ajax校验比remote的好处:
remote()请求的服务返回结果必须为boolean或String类型的 true或false,这样要校验的话,后台必须添加这样的服务
addMethod(),使用$.ajax()就可以在success中对服务返回的数据进行处理判断来,这样就把后台的工作(返回true,false)转到前台了

官网http://jqueryvalidation.org/

参考文档http://jqueryvalidation.org/


转载于:https://my.oschina.net/lhplj/blog/411469

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jQuery Validate是一个jQuery插件,用于在客户端对表单进行验证。它提供了一组规则和消息,可以轻松地验证表单字段,如必填字段、电子邮件地址、电话号码等。它还提供了自定义规则和消息的选项,以满足特定的验证需求。使用jQuery Validate可以提高表单的可靠性和用户体验。 ### 回答2: jQuery validate是一种JavaScript库,用于在客户端验证表单输入。它提供了功能强大的验证选项,可以帮助开发人员更轻松地处理表单输入并提高应用程序的可靠性。JQuery validate使用简单,可以帮助开发人员轻松地验证表单输入。它包括多种验证规则,例如需要字段、电子邮件、URL、日期、数字等,这些规则非常灵活,可以根据需求自定义。 使用jQuery validate验证表单输入,可以提供以下好处: 1. 实现更好的用户体验 通过在用户填写表单时实时验证输入数据,可以防止用户提交无效或格式不正确的数据。这样可以极大地提高用户体验,避免用户填写了错误的数据后还需要进行修改或重新提交的情况。 2. 提高应用程序的可靠性 使用jQuery validate可以在客户端验证数据格式和必填字段,从而避免无效数据提交到服务器端,提高应用程序的可靠性。这可以减少服务器端的负载并提高应用程序的响应速度。 3. 节省开发时间 通过使用jQuery validate,开发人员可以轻松地实现表单验证功能,减少开发时间,并大大降低开发成本。 下面是使用jQuery validate实现表单验证的流程: 1. 在HTML中引入jquery.validate.min.js和jquery.min.js文件。 2. 在表单上应用validate方法。 $('#form').validate({ // 定义规则 rules: { // 表单元素name:规则 name: { required: true, minlength: 2, maxlength: 10 }, email: { required: true, email: true }, password: { required: true, minlength: 5 }, confirm_password: { required: true, minlength: 5, equalTo: "#password" } }, // 定义消息 messages: { name: { required: "请输入你的名字", minlength: "名字长度不能少于2个字符", maxlength: "名字长度不能大于10个字符" }, email: { required: "请输入你的邮箱地址", email: "请输入正确的邮箱地址" }, password: { required: "请输入密码", minlength: "密码长度不能小于5个字符" }, confirm_password: { required: "请再次输入密码", minlength: "密码长度不能小于5个字符", equalTo: "两次输入的密码不一致" } } }); 3. 定义验证规则和验证消息。 规则可以定义为必填字段、最小长度、最大长度等,而消息可以定义为自定义的消息内容。 4. 在页面中显示验证结果。 在每个表单元素后面显示相应的验证结果,可以让用户更清楚地知道哪些字段需要修改。 总之,使用jQuery validate可以帮助开发人员更轻松地验证表单输入,提高应用程序的可靠性和用户体验。 ### 回答3: jQuery Validate是一个基于jQuery的表单验证插件,为用户提供了一种简单、可靠、美观的解决方案。使用jQuery Validate,可以轻松地通过对输入框设置校验规则,自定义错误提示等功能来实现表单的校验和提交。 jQuery Validate主要有以下几个方面的功能: 1. 必填项校验:可以通过设置必填项的规则,确保用户填写了必要的信息。 2. 数据格式校验:可以通过设置数据格式的规则,比如手机号码、电子邮件地址,确保用户填写的数据符合要求。 3. 长度校验:可以通过设置数据长度的规则,比如最小长度、最大长度,确保用户填写的数据在指定的长度范围内。 4. 自定义错误提示:可以通过设置自定义错误提示信息,让用户更清楚地知道哪些数据填写不正确,以便及时修改。 5. 实时校验:可以在用户输入数据时实时校验其正确性,及时提醒用户填写错误的数据。 6. 提交表单前校验:可以在用户提交表单时进行全面的校验,确保用户填写的数据全部正确。 总之,jQuery Validate是一款非常实用的表单校验插件,可以帮助开发者轻松地实现表单校验和提交。无论是在线注册、登录、资料修改等场景下,都能准确、快速地捕捉用户的输入信息,避免填写错误导致的后续问题,提升用户的使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值