<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. 学习笔记之Naive Bayes Classifier

    Naive Bayes classifier - Wikipedia https://en.wikipedia.org/wiki/Naive_Bayes_classifier In machine l ...

  2. 使用虚拟化KVM安装RHEL7系统

    使用虚拟化KVM安装RHEL7系统 作者:Eric 微信:loveoracle11g 检查真实物理机是否支持虚拟化功能 [root@server ~]# grep vmx /proc/cpuinfo ...

  3. Chapter4 复杂度分析(下):浅析最好,最坏,平均,均摊时间复杂度

    四个复杂度分析: 1:最好情况时间复杂度(best case time complexity) 2:最坏情况时间复杂度(worst case time complexity) 3:平均情况时间复杂度( ...

  4. Vue+webpack项目配置便于维护的目录结构

    新建项目的时候创建合理的目录结构便于后期的维护是很重要 环境:vue.webpack 目录结构: 项目子目录结构 子目录结构都差不多,主要目录是在src下面操作 src目录结构 src/common ...

  5. leetcode14:最长公共字符串

    编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow" ...

  6. C# 数字转换成大写

    /// <summary> /// 数字转大写 /// </summary> /// <param name="Num">数字</para ...

  7. python 一些方法函数

    转Python学习笔记十一:列表(3)--列表的一些方法:http://www.cnblogs.com/dabiao/archive/2010/03/12/1683942.html python中的e ...

  8. leetcode240

    public class Solution { public bool SearchMatrix(int[,] matrix, int target) { , j = matrix.GetLength ...

  9. django在centos部署

    各种坑各种蛋疼,搞了两天终于能用了.整体分2步: 1. 通过uwsgi 启动django项目 在manage.py同级目录,新建uwsgi.ini文件 [uwsgi] # 配置服务器的监听ip和端口, ...

  10. 一个类似于jq的小型库

    本人写了一个类似于jq的小型库,不过只是写了部分方法而已.并没有jq那么全面,下面就介绍下有哪些方法可以使用 第一个是选择器, 选择器比较简单 只支持ID选择器 $(‘#id_name’) Class ...