<link type="text/css" href="<%=basepath%>css/form/validate.css"
rel="stylesheet" />
<script type="text/javascript"
src="<%=basepath%>js/common/jquery-1.9.1.js"></script>
<script type="text/javascript"
src="<%=basepath%>js/common/jquery.validate.min.js"></script>
<script type="text/javascript"
src="<%=basepath%>/js/common/jquery.form.js"></script>
<script type="text/javascript"
src="<%=basepath%>/js/validate/userValidateMethods.js"></script>
<style type="text/css">
<script>
$(document).ready(function(){
$("#testForm").validate({
//提交成功时的回调函数
submitHandler : function(){
var datas = $("#testForm").serializeArray();
$.post('<%=basepath%>jsp/testService/test.do', datas, function(result){
alert(result.message);
if(result.code == "0"){
//$("#submitBtn").attr("readonly","true");
//$("#draftBtn").attr("readonly","true"); }
});
},
onfocusout: function(element){
$(element).valid();
},
rules: {
'projectinfo': {
checkProjectName : true
},
'customercompany': {
required : true
},
'customerlinkman' : {
required : true
},
'customermobile' : {
required : true,
isMobile : true
},
'customerphone' : {
isPhone : true
}
},
messages: {
'projectinfo': {
checkProjectName : "没有可选项目,必须填写项目信息"
},
'customercompany' : {
required : "请填写企业名称"
},
'customerlinkman' : {
required : "请填写联系人"
},
'customermobile' : {
required : "请填写联系人手机号码",
isMobile : "请填写正确的手机号码"
},
'customerphone' : {
isPhone : "请填写正确的电话号码"
}
}
});
});
</script>

其中userValidateMethods.js为我们自定义的校验方法,方法由我们来实现。代码如下:

// 手机号码验证
jQuery.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
var mobile = /^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/;
return this.optional(element) || (length == 11 && mobile.test(value));
}, "请正确填写您的手机号码"); // 联系电话(手机/电话皆可)验证
jQuery.validator.addMethod('isPhone', function(value,element) {
var length = value.length;
var mobile = /^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/;
var tel = /(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,8}/;
return this.optional(element) || (tel.test(value) || mobile.test(value)); }, '请正确填写您的联系电话'); //当项目名称没有时,必须填写项目信息
jQuery.validator.addMethod('checkProjectName', function(value,element) {
if($("#projectname").val() == ''){
return value != '';
}
return true; }, '请正确填写您的联系电话'); // 手机号码范围验证
jQuery.validator.addMethod("validNumRange", function (value, element){ var flag=false;
if(value){
value=parseInt(value);
if(!isNaN(value)){
flag=true;
}
}
if(flag&&0<=value&&value<=10){
flag=true;
}else{
flag=false;
}
return flag; }, "数值范围为0-10");

另外一种是由事件驱动的校验方式:

//同样,需引入依赖的js,css
<script>
数字范围验证
function validateForm(){
return $("#testForm").validate({
onfocusout: function(element){
$(element).valid();
},
rules: {
'score': {
required: true,
validNumRange:true
}
},
messages: {
'score': {
required: "评分必填",
validNumRange:"范围不对" }
}
}); } $(function(){ validateForm(); $("#testBtn").click(function(){
if(validateForm().form()){
//序列化表单
var score= $("#testForm").serialize();
$.ajax( {
url:'${pageContext.request.contextPath }/jsp/testService/test2.do',
//执行指定的方法
data:score,
type:'post',
success:function(data) {
if(data.code==0){
alert("评议评分成功 !"); }
if(data.code==1){
alert("评议评分失败 !");
}
}, });
}else{ return false;
} }); });
</script>

 

jquery 表单校验的更多相关文章

  1. 关于jQuery表单校验

    <style> .red{border: 1px solid red;} .wrong-tip{color: red;} </style> <form action=&q ...

  2. day32(表单校验js和jquery表单校验)

    校验用户名.密码.密码一直性. <style> .error { color: red } .success { color: green } </style> <scr ...

  3. JQuery -- Validate, Jquery 表单校验

    1. Jquery 表单验证需要插件 jQuery validation 1.7  ---验证插件需要:jQuery 1.3.2 或 1.4.2版本 http://jquery.bassistance ...

  4. 关于jQuery表单校验的应用

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  5. jQuery表单校验

    主要特性: 表单提交前对所有数据进行校验,不符合不让提交(validate) 如果表单校验不通过,自动focus到第一个错误的域 自动在控件后面显示错误提示内容(error message) 支持根据 ...

  6. JQuery 表单校验插件 validate 使用纪录

    JS诞生其中一个目的就是将, 服务器端的校验在客户端提前完成, 以避免用户提交数据后, 后台校验报错的糟糕用户体验. 基于JQuery库的有很多优秀的插件, 其中对于浏览器端表单进行验证的基本功能也有 ...

  7. Jquery表单验证插件validate

    写在前面: 在做一些添加功能的时候,表单的提交前的验证是必不可少的,jquery的validate插件就还可以,对于基本的需求已经够了.这里记录下基本的用法. 还是写个简单的demo吧 <htm ...

  8. 利用jquery.validate以及bootstrap的tooltip开发气泡式的表单校验组件

    表单校验是页面开发中非常常见的一类需求,相信每个前端开发人员都有这方面的经验.网上有很多成熟的表单校验框架,虽然按照它们默认的设计,用起来没有多大的问题,但是在实际工作中,表单校验有可能有比较复杂的个 ...

  9. bootstrap+jQuery.validate表单校验

    谈谈表单校验 这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录.现在社会坚持以人为本的理念,在网站开发过程同样如此.User是我们面对较多的对象,也是较核心的对象.最开始的用户注册和登 ...

随机推荐

  1. Android 动态注册JNI函数

    1.JNI函数注册方式 在Android开发中,由于种种原因我们需要调用C/C++代码,在这个时候我们就需要使用jni了, jni在使用时要对定义的函数进行注册,这样java才能通过native关键字 ...

  2. 对pytorch中Tensor的剖析

    不是python层面Tensor的剖析,是C层面的剖析. 看pytorch下lib库中的TH好一阵子了,TH也是torch7下面的一个重要的库. 可以在torch的github上看到相关文档.看了半天 ...

  3. IDEA修改git账号及密码的方法 ----绝壁好使

    就这个这个位置,之前的账号信息就保存在这里,直接编辑修改,修改成你现在的账号, idea提交的时候就能直接提交,或者提交的时候要输入账号密码,ok,我的微信 18550918581,不懂再找我

  4. java面试多线程问题

    Java多线程面试问题 1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环 ...

  5. Git分支merge和rebase的区别

    Git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 原理 如下: 假设你现在基于远程分支&quo ...

  6. RabbitMQ--windows10环境下的RabbitMQ安装步骤(转)

    https://blog.csdn.net/weixin_39735923/article/details/79288578

  7. python3 kmp 字符串匹配

    先声明,本人菜鸟一个,写博客是为了记录学习的过程,以及自己的理解和心得,可能有的地方写的不好,希望大神指出... 抛出问题 给定一个文本串test_str(被匹配的字符串)和模式串pat_str(需要 ...

  8. 【Linux命令】Linux下的tar压缩解压缩命令详解(转)

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

  9. Linux 查看内存使用情况

    1 . top  : 用于实时显示 process 的动态 PID:进程的ID USER:进程所有 PR:进程的优先级别,越小越优先被执 VIRT:进程占用的虚拟内 RES:进程占用的物理内 SHR: ...

  10. 在C++程序中自动加入svn版本号

    原创文章,欢迎阅读,如果您想转载,请在第一行醒目注明原作者和原始链接. 为了方便追查和确认软件bug等问题,给软件或者库赋予版本号是个好办法. 最简单的版本号管理是记录编译时间: cout<&l ...