`

jquery.validationEngine

阅读更多

 

         在项目中表单的验证的选择是 JQuery.validationEngine 倒是一个不错的选择,无论在 Java or .NET 上都还不错,可以满足一般表单提交验证的需求,但是通过这个项目做的发现有时候怎么都想不起比如说下拉框怎么用 validationEngine 进行验证,所以今天想想还是好好总结总结吧,免得犯怂。下载地址:

http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/

先说一下使用的基本流程

         1 、引用 Jquery js 库和 validationEngine js css

<script type="text/javascript" src="./js/jquery-1.8.3.min.js"/>
<script type="text/javascript" src="./js/jquery.validationEngine.js"/>
<script type="text/javascript" src="./js/jquery.validationEngine-cn.js"/>
<link type="text/css" rel="stylesheet" href="./css/validationEngine.jquery.css"/>

 

其中的 css 可以指定不同的语言的,在我们下载下来的文件中存在很多语言,我们在实际的项目开发中可以根据实际的情况选择。

         2 、需要验证的页面在初始化时对验证插件进行初始化

	$(function() {
		//表单验证
		$("#fromId").validationEngine({
			validationEventTriggers : "keyup blur",
			promptPosition : "centerRight",
			success : false,
			failure : function() {
			}
		});
	});

 

说明:

·上面的 fromId 表示需要验证的表单 id

· validationEventTriggers 则指定验证触发的事件,默认是鼠标失去焦点( blur )时触发验证,我们可以删除这个属性;

· inlineValidation 表示是否即时验证, false 为提交表单时验证 , 默认 true

· promptPosition 表示验证出错的提示信息显示的位置(相对于验证标签的位置,包括 topLeft, topRight, bottomLeft, centerRight, bottomRight );

· success :  true 时即使有不符合的也提交表单 ,false 表示只有全部通过验证了才能提交表单 , 默认 false  

· failure : function() { alert(" 验证失败,请检查。 ");  } 表示验证失败时调用的函数;   

· success : function() { callSuccessFunction() }, 表示验证通过时调用的函数,这两个回调一般在开发中都不需要写的;  

 

3 、下面就是针对不同的标签进行验证,验证规则是写在表单元素的 class 属性内,例如

<input type="text" id="stuId" name="stuname"value=""
class="validate[required,custom[SpecialCharacters]] " />
 

 

所有的验证规则写在 validate[] 内,有多种验证,用逗号隔开。注意这里需要指定 id ,如果不指定 id ,页面会有黑色输入框提示。

         4 、在表单进行提交时判断验证是否通过,如果验证没有错,表示可以提交,否则 return ,开始使用时很多人会忘记这里,导致验证报错还是提交到后台了。

	function submitForm() {
		if ($.validationEngine.submitValidation("#fromId") == false) {
			$("#fromId").submit();
		}
	}

 

Ok ,一个表单验证需要做的准备工作完成了,下面我再来对不同的标签的验证方式进行一个简单的总结,其实直接从文档上就可以发现,这里只是简单的总结一下。

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<script type="text/javascript" src="./res/js/jquery-1.8.2.js">
	
</script>
<script type="text/javascript" src="./res/js/jquery.validationEngine1.7.js">
	
</script>
<script type="text/javascript"
	src="./res/js/jquery.validationEngine-cn.js">
</script>
<link type="text/css" rel="stylesheet"
	href="./res/css/validationEngine.jquery.css" />

<title>JQuery Validation 1.7 Demo</title>
<script type="text/javascript">
	$(function() {
		//表单验证
		$("#formId").validationEngine({
			validationEventTriggers : "keyup blur",
			promptPosition : "centerRight",
			success : false,
			failure : function() {
			}
		});
	});
	function submitForm() {
		if ($.validationEngine.submitValidation("#fromId") == false) {
			$("#fromId").submit();
		}
	}
	function deletePop(){
		$.validationEngine.closePrompt('.formError',true);
	}
	
</script>
<style type="text/css">
	div{
		margin-bottom: 20px;
	}
</style>

</head>
<body>
	<form id="formId"  class="formular" action="result.jsp" method="post">
		<div>
			验证输入框的必填、只允许字母、特殊字符、长度,这里就不对日期进行验证了,因为日期我们一般都使用JQuery组件不会有格式错误的<br /> 
			<input type="text" id="input"
				class="validate[required,length[1,3],custom[onlyLetter],custom[SpecialCharacters]] text-input"><br>
				
			邮箱验证<br/>
			<input type="text" name="email" id="email" class="validate[required,custom[email]] text-input"/><br>
			
			Telephone<br/>
			<input class="validate[required,custom[telephone]] text-input" type="text" name="telephone"  id="telephone" />
		</div>
		
		<div>
			复选框验证,这里验证最少选择两个<br/>
			<input class="validate[minCheckbox[2]] checkbox" type="checkbox" name="interest" id="maxcheck1"/>
			<label for="maxcheck1">唱歌</label>
			<input class="validate[minCheckbox[2]] checkbox" type="checkbox" name="interest" id="maxcheck2"/>
			<label for="maxcheck2">跳舞</label>
			<input class="validate[minCheckbox[2]] checkbox" type="checkbox" name="interest" id="maxcheck3"/>
			<label for="maxcheck3">电脑</label>
		</div>
		
		<div>
			下拉框验证<br/>
			<select name="language" id="language" class="validate[required,mustSelect[无]]">
				<option value="无">Please Select</option>
				<option value="Java">Java</option>
				<option value="NET">NET</option>
				<option value="Android">Android</option>
			</select>
		</div>
		
		<div>
			两次输入是否一致验证<br/>
			 <input class="validate[required,length[6,11]]" type="password" name="password" id="password" /><br/>
			 <input class="validate[required,confirm[password]]" type="password" name="repassword"  id="repassword" />      
		</div>
		
		<div>
			textarea验证<br/>
		  <textarea class="validate[required,length[6,300]] text-input" name="comments" id="comments"> </textarea>  
		</div>
		
		<div>
			<input type="button" onclick="$.validationEngine.buildPrompt('.hand','这是我手动添加','error')" value="手动添加一个提示"><br/>
			<input type="text" class="hand">
		</div>
		
		<div>
			<input type="button" onclick="$.validationEngine.loadValidation('#date')" value="手动再次触发验证"><br/>
			<input class="validate[required,custom[date]] text-input" type="text" name="date"  id="date" />
		</div>
		
		<div>
			说明:以上只是说了一下项目中常用的验证,具体的可以查看下载的JS库里包含的Demo以及jquery.validationEngine-cn.js里包含的正则验证规则
		</div>
		<input type="button" onclick="deletePop()" value="删除所有提示">
		<input type="button" onclick="submitForm()" value="保存">
	</form>
</body>
</html>

 

说明:

1、  这里的 checkbox 提示显示位置还没有好的办法解决;

2 、这里需要注意的是不同的版本对应的 jquery.validationEngine.js jquery.validationEngine-cn.js 需要对应,比如有的版本中的密码两次输入是否一致有的是 confirm 而有的是 equals ,无论是哪一个,上面两个 js 都必须要统一,不能一个是 confirm 一个是 equals

 

注意这里面以新版本 2.6 来说吧,老版本有的地方可能不一样

1 2.6 版本中的输入框验证多个时,会同时显示多个错误,直到没有错误,而 1.7 中没有

2 、下拉框的选择, 2.6 的方式时

<select name="language" id="language" class="validate[required]">
				<option value="">- Please Select -</option>
				<option value="Java">Java</option>
				<option value="NET">NET</option>
				<option value="Android">Android</option>
			</select>

 而1.7的方式是

<select name="language" id="language" class="validate[mustSelect[无]]">
				<option value="无">- Please Select -</option>
				<option value="Java">Java</option>
				<option value="NET">NET</option>
				<option value="Android">Android</option>
			</select>

 

项目中的感受,在项目中引入需要的 JS or Jar 包时最好自己手动去官网下载,然后引入,不要上来就直接引入上一个项目中用到的 JS or Jar 包。因为一来这样我们自己可以更加熟悉这些 JS or Jar 包,二来直接引入上一个项目中的可能对其源码进行了特定条件下的修改或者版本过低。

 

 

 

分享到:
评论

相关推荐

    jQuery.validationEngine 表单验证中文版

    jQuery.validationEngine是一款强大的JavaScript插件,专用于前端表单验证。这款插件以其简洁的API、丰富的验证规则和良好的国际化支持而备受青睐。在中文环境中,它可以为用户提供友好的中文提示,确保用户输入的...

    jquery.validationEngine校验插件

    &lt;link rel="stylesheet" type="text/css" href="path/to/validationEngine.jquery.css" /&gt; &lt;script src="path/to/jquery.js"&gt; &lt;script src="path/to/jquery.validationEngine-en.js"&gt; &lt;script src="path/to/jquery....

    jquery.validationEngine 控件验证表单跟检测数据库是否有重名

    &lt;link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css"/&gt; &lt;script src="js/jquery.validationEngine-en.js"&gt; &lt;script src="js/jquery.validationEngine.js"&gt; ``` 然后,初始化验证引擎:...

    jQuery.validationEngine表单验证中文版

    在JavaScript中定义函数,然后使用`jQuery.validationEngine.addMethod`方法添加到验证引擎中。 4. **错误提示与样式** - jQuery.validationEngine提供了一套完整的提示样式,可以根据需要调整或覆盖这些样式以...

    jquery.validationEngine.js

    强大的表单验证控件,验证表单的正确性。

    (五)struts2- 2.3.15.3 spring3.2.4 mybatis-3.2.3 jquery.validationEngine表单验证

    jQuery.validationEngine则是一个强大的JavaScript库,用于前端表单验证,提供丰富的验证规则和友好的提示效果。 Struts2作为MVC(模型-视图-控制器)架构的一部分,主要用于处理用户的请求并控制应用流程。版本2.3...

    jquery表单验证插件validationEngine---个人修改

    &lt;link rel="stylesheet" href="path/to/validationEngine.jquery.css" type="text/css" /&gt; &lt;script src="path/to/jquery.js"&gt; &lt;script src="path/to/jquery.validationEngine.js" type="text/javascript" charset...

    jQuery Validation Engine ( jQuery 表单验证插件)

    - `js` 文件夹:主要的JavaScript文件,如`validationEngine.jquery.js`是核心库,`validationEngine.jquery.min.js`是压缩版本。 - `demo` 文件夹:包含示例代码和演示,可以帮助你快速理解和使用Validation Engine...

    JQuery.validationEngine表单验证插件(推荐)

    在实际使用过程中,通常需要在HTML中引入三个主要的JavaScript文件:jquery.validationEngine.js、jquery.validationEngine-zh_CN.js、validationEngine.jquery.css。这些文件负责实现插件的验证逻辑、提供中文语言...

    jQuery.Validation.Engine

    &lt;link rel="stylesheet" href="path/to/validationEngine.jquery.css"&gt; &lt;script src="path/to/jquery.js"&gt; &lt;script src="path/to/validationEngine.jquery.js"&gt; [required,custom[email]]" /&gt; $...

    jQuery-Validation-Engine-master

    2. **包含资源**:将下载的压缩包解压后,将`css`目录下的样式文件(如`validationEngine.jquery.css`)和`js`目录下的JavaScript文件(如`jquery.validationEngine-en.js`和`jquery.validationEngine.js`)引入到你...

    前端项目-jQuery-Validation-Engine.zip

    前端项目-jQuery-Validation-Engine,jquery验证引擎是一个javascript插件,旨在验证浏览器中的表单字段(即6-8、Chrome、Firefox、Safari、Opera 10)。这个插件提供了视觉上吸引用户注意的提示。

    jQuery.Validator

    "jquery.validationEngine.js"是jQuery.Validator的核心脚本,包含了所有验证功能的实现。这个文件通常需要在HTML页面中引入,以启用验证功能。 总的来说,jQuery.Validator通过其丰富的验证规则、多语言支持、...

    jQuery-Validation-Engine-2.6.2-ciaoca.zip

    1. `css` 目录:包含 Validation Engine 的样式文件,如 `validationEngine.jquery.css`,用于设置验证提示的外观。 2. `js` 目录:包含核心 JavaScript 文件,如 `jquery.validationEngine-en.js`(英文版)和 `...

    jquery-validateEngine验证框架小demo

    `jQuery Validate Engine`是一个强大的表单验证插件,它扩展了`jQuery`的功能,使得开发者可以轻松地为网页表单创建美观且功能丰富的验证规则。这个小`demo`旨在帮助理解如何集成和使用该框架。 在`jQuery Validate...

    (六)struts2 spring3 mybatis-3.2.3jquery.validationEngineajax表单验证数据库重复

    【标题】"(六)struts2 spring3 mybatis-3.2.3 jquery.validationEngine ajax表单验证 数据库重复"所涉及的技术栈主要包括Struts2、Spring3、MyBatis3.2.3以及前端的jQuery.validationEngine和Ajax技术。...

    动态表单验证 jquery

    首先,我们需要引入jQuery库以及`jquery.validationEngine.js`和其相关的CSS文件,如`jquery-1.6.min.js`或`jquery-1.7.2.min.js`,`jquery.validationEngine-en.js`(英文语言包)和`validationEngine.jquery.css`...

    validationEngine.jquery.css

    jquery校验样式 css文件

    jquery 表单验证

    &lt;link rel="stylesheet" type="text/css" href="validationEngine.jquery.css" /&gt; &lt;script src="jquery.validationEngine-en.js"&gt; &lt;script src="jquery.validationEngine.js"&gt; ``` 接下来,我们来了解如何初始化和...

Global site tag (gtag.js) - Google Analytics