<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. c++11模拟boost元占位符placeholder

    准备实现meta programming的fold函数,发现自己缺少占位符实现,这样传入fold的transform op类(元函数)都不得不另外写个外覆类,其实我觉得没啥不好,简单直接,说实话干扰什 ...

  2. C# Interview Question 1

    What is C#? What's the feature of C# language? Answer:  

  3. LeetCode - 刷题经验

    1.加快代码速度 刷了前面几道题发现速度总是处于尾部10%,刚开始非常不服,后来仔细一看那些排名靠前的提交,发现了猫腻.几乎每一个提交都有这样的一段代码: static const auto io_s ...

  4. 使有prometheus监控redis,mongodb,nginx,mysql,jmx

    以下操作在CENTOS7环境. 使用prometheus做监控,使用grafana做dashboard的界面展示: 因prometheus自带的监控web界面图形化展示方面比较弱,推荐使用grafan ...

  5. TabLayout+ViewPager 标题不显示问题

    第一次用TabLayout+ViewPager 组合在布局中写好了三个标题预览没问题而且也设置了 app:tabIndicatorColor="@color/colorAccent" ...

  6. ffmpeg 编译

    下载FFmpeg git clone https://git.ffmpeg.org/ffmpeg.git 配置编译FFmpeg ./configure --prefix=host --enable-s ...

  7. 虚拟机安装centOs+网络配置(完整说明)

    1.新建虚拟机(标准)   选择 (我以后下安装操作系统)       选择Linux 操作系统 版本为CentOS(32位)     虚拟机的名称和位置任意       磁盘容量如下即可     设 ...

  8. background-position,有逗号和没逗号:截然不同的结果

    写星级评分demo的时候,发现background-position这个属性有点神奇 如上图,在其值中加“,”与不加“,”会带来截然不同的结果,来研究一哈,顺便把这个属性复习一下 1.backgrou ...

  9. sys模块的介绍

    sys.argv           命令行参数List,第一个元素是程序本身路径 sys.exit(n)        退出程序,正常退出时exit(0) sys.version        获取 ...

  10. HttpWebResponse远程服务器返回错误: (500) 内部服务器错误 的解决办法

    在工作中用C#开发了一个小程序,不断访问去请求一个网站的页面,在循环过程中有时会报“远程服务器返回错误: (500) 内部服务器错误”,有时不会,出现的时机也不太一样.开始以为是网站的问题,后来网站是 ...