jquery validate使用说明

本文详细介绍jQuery表单验证插件的使用方法,包括配置项、验证规则及消息自定义等内容,并提供示例代码帮助理解。
本文转载自http://asialee.iteye.com/blog/2001239
//validate 选项***********************************************************
$("form").validate({

debug:true  //进行调试模式(表单不提交)
rules:{
    name:"required", //自定义规则,key:value的形式,key是要验证的元素,value可以是字符串或对象
    email:{
    //内置验证方式
       required:true, //必填项
       required:"#aa:checked"表达式的值为真,则必填项
required:function(){}返回为真,则必填项
       email:true,   //验证电子邮箱格式
       minlength:5,  //设置最小长度
       maxlength:10, //设置最大长度
       rangelength:[5,10],//设置一个长度范围[min,max]
       min:2,        //设置最小值
       max:8,       //设置最大值
       range:[2,8]      //设置值的范围
       url:true,         //验证URL格式
       date:true,    //验证日期格式(类似30/30/2008的格式,不验证日期准确性只验证格式)
       dateISO:true, //验证ISO类型的日期格式 例如:2009-06-23
       dateDE:true,  //验证德式的日期格式(29.04.1994 or 1.1.2006)
       number:true,  //验证十进制数字(包括小数的)
       digits:true,  //验证整数
       creditcard:true, //验证信用卡号
       accept:""     //请输入拥有合法后缀名的字符串(上传文件的后缀)
       equalTo:"id名" //验证两个输入框的内容是否相同
       phoneUS:true   //验证美式的电话号码
       regex:/正则表达式/     //上面addMethod扩展的验证规则
    }
}

messages:{
   name:"Name不能为空",  //自定义的提示信息key:value的形式key是要验证的元素,值是字符串或函数
   email:{
      required:"E-mail不能为空",
      email:"E-mail地址不正确"  //validate 内置验证有默认的英语提示 此处为重新自定义
   }
   }

   errorPlacement: function(error,element) {
element.parents('.form-group').children(".help-block").html(error); //错误显示的位置 element验证的元素error错误提示
}

submitHandler:function(form) {//通过验证后运行的函数,里面要加上表单提交的函数,否则表单不会提交
$(form).ajaxSubmit();
//form.submit();
}

success:"类名"   //要验证的元素通过验证后的动作,跟一个字符串,会给输出错误的元素追加一个css类
ignore:".ignore" //对某些元素不进行验证
   onsubmit:false   //是否提交时验证 默认:true
   onfocusout:false //是否在获取焦点时验证 默认:true
   onkeyup:false    //是否在敲击键盘时验证 默认:true
onclick:false    //是否在鼠标点击时验证(一般验证checkbox,radiobox) 默认:true
focusInvalid:false //提交表单后,未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)会获得焦点 默认:true
focusCleanup:true  //当未通过验证的元素获得焦点时,并移除错误提示(避免和 focusInvalid.一起使用)默认:false
errorClass:"类名"  //指定错误提示的css类名,可以自定义错误提示的样式 默认:"error"
errorElement:"标签" //使用什么标签标记错误 默认:"label"
wrapper:"标签"      //使用什么标签再把上边的errorELement包起来
errorLabelContainer:"容器id"  //把错误信息统一放在一个容器里面
showErrors:function(errorMap,errorList) { //跟一个函数,可以显示总共有多少个未通过验证的元素
       $("#summary").html("Your form contains " + this.numberOfInvalids() + " errors,see details below.");
       this.defaultShowErrors();
}
})


//validate方法 返回一个Validator对象,它有很多方法, 让你能使用引发校验程序或者改变form的内容**************

$.validator.setDefaults({//设置validator默认
   debug:true,  //把调试模式设置为默认 如果一个页面中有多个表单一般用这种方式
   errorClass: "txt-impt", //设置默认错误提示的css类名
   errorElement: "div"     //设置默认错误提示的标签
})

//addMethod(name,method,message)方法:name(自定义rules的key) method(自定义验证方法) message(报错输出的提示)
jQuery.validator.addMethod("regex",function(value, element, params){  //扩展方法示例:
var exp = new RegExp(params); //params rules的value传入的正则表达式
return exp.test(value);       //value  被验证的input传入的值
},"输入格式有误");

//扩展rules规则
jQuery.validator.addClassRules("name", {
required: true,
minlength: 2
});
jQuery.validator.addClassRules({
name: {
required: true,
minlength: 2
},
zip: {
required: true,
digits: true,
}
});
$("#myinput").rules("add", {
required: true,
minlength: 2,
messages: {
required: "Required input",
minlength: jQuery.format("Please, at least {0} characters are necessary")
}
});
$("#myinput").rules("remove"); //全部移除验证规则
$("#myinput").rules("remove", "min max") //移除 min max

var form=$('form');
$(".formBtn").click(function(){ //按钮type非submit or submit按钮不在form内
console.log("Valid: " + form.valid()) //form.valid() 验证成功返回true
var validator = $("form").validate(setValidate);
var formState=validator.form();      //判断验证状态 返回Boolean
//validator.element("id名") 验证某个元素 返回Boolean
//validator.resetForm()  把前面验证的FORM恢复到验证前原来的状态

if(formState==false){
return;
}else{
//do someing...
}
})

//使用ajax方式进行验证,默认会提交当前验证的值到远程地址,如果需要提交其他的值,可以使用data选项 后台只允许返回false和true
remote: "check-email.php"
   remote: {
       url: "check-email.php",     //后台处理程序
       type: "post",               //数据发送方式
       dataType: "json",           //接受数据格式
       data: {                     //要传递的数据
           username: function() {
               return $("#username").val();
           }
       }
   }


//meta String方式***************************************************************

//引入js

//dom上验证规则写法

//设置为meta String验证方式
$("#myform").validate({
  meta:"validate",
  submitHandler:function() { }
})
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值