`

jQuery.validationEngine插件使用

阅读更多

     jQuery.validationEngine plugin是一个旨在校验表单元素的javascript插件。目前在IE6-8、Chrome、Firefox、Safari、Opera等浏览器上表现良好。比如校验我们常见的Email、phone、URL等等,对于负责的Ajax调用校验也提供了支持。而且提示信息也可支持多种语言。现在已经发展到了v2.6.2我们可以在github上很轻松的获取到它的源码。

    一下是自己写的一个小例子:

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery.validationEngine plugin Demo</title>
<link type="text/css" rel="stylesheet"  href="/static/css/jquery.validation/validationEngine.jquery.css"/>
<script type="text/javascript" src="/static/js/jquery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="/static/js/jquery.validation/jquery.validationEngine-zh_CN.js"></script>
<script type="text/javascript" src="/static/js/jquery.validation/jquery.validationEngine.js"></script>
<script type="text/javascript">
	$(function(){
		var form = "myForm";
		var condition = [
		     			{name:"username",rule:"validate[required,maxSize[5]]"} ,                
		     			{name:"password",rule:"validate[required] text-input"} ,                
		     			{name:"url",rule:"validate[required,custom[url]]"},           
		     			{name:"letter",rule:"validate[required,custom[onlyLetterNumber]]"},                
		     			{name:"date",rule:"validate[required,custom[date]]"}                
		  ];
		validationInit(condition,form);
		$("#sub").click(function(){
			console.log("validationform="+$("#"+form).validationEngine('validate'));
			 if($("#"+form).validationEngine()){
				return;
			} 
			myForm.submit();
		});
	});
	
	function validationInit(condition,form){
		for(var i = 0; i < condition.length; i++){
			var cond = condition[i];
			$("#"+form+" [name="+cond.name+"]").attr("class",cond.rule);
		}
		$("#"+form).validationEngine('attach',{
			
		}).css({border:"2px solid #000"});
	}
</script>
</head>
<body>
<div style="padding-top: 100px">
	<form action="" id="myForm" name="myForm" method="post">
		username:<input type="text" name="username" id="username"/><br/>
		password:<input type="text" name="password" id="password" data-prompt-position="bottomLeft:20px"/><br/>
		url:<input type="text" id="url" name="url" value="http://"/><br/>
		only letter:<input type="text" id="letter" name="letter" value="too many spaces obviously"/><br/>
		date:<input type="text" id="date" name="date" value=""/><br/>
		<input type="button" value="提交" id="sub"/>
	</form>
</div>
</body>
</html>
 可以看出使用了jquery.validationEngine plugin之后页面的校验js代码变得更加整洁了。

 

除了上述用法,jquery.validationEngine也可以作用在某个表单元素上

 

$("#form.id").validationEngine();
或
$("#form.id").validationEngine(action or options);
 validationEngine的几个基本action:

 

  1. attach:绑定表单验证
  2. detach:解除表单验证
  3. validate:验证控件或表单 返回ture or false
  4. showPrompt:在某个元素上创建一个提示,3中状态‘pass’,‘error’,'load'
  5. hide:隐藏对应元素及元素内的提示信息
  6. hideAll:隐藏页面上的所有提示
  7. updatePromptsPosition:更新提示层的位置

$("#"+form).validationEngine('attach',{
			
		}).css({border:"2px solid #000"});
 可以看出validationEngine方法支持链式调用。

 

 

validationEngine的3中自定义事件

  1. jqv.form.validating:$("#form").bind("jqv.form.validating",function(event){});表单验证时事件
  2. jqv.form.result:$("#form").bind("jqv.form.result",function(event,errorFound){});表单验证完成时事件  errorFound:表单验证不通过(true或false)
  3. jqv.field.result:$("#form").bind("jqv.field.result",function(event,field,isError,promptText){});单个控件验证完成时事件,field 控件对象,isError:控件验证不通过(true或false)promptText:         提示信息

   HTML5属性

属性名 描述
data-validation-engine 设置验证规则,除了class验证的另一种选择
data-validation-placeholder 占位符 当为必填控件验证时值不能为空 也不能为占位符
data-prompt-position 自定义提示信息的位置,可设置为:"topRight", "topLeft", "bottomRight" "bottomLeft", "centerRight", "centerLeft", "inline"可设置更具体的位置,格式为:"方向:X偏移值,Y偏移值"。如:data-prompt-position="bottomLeft:20,5"PS:偏移值可以为负数
data-prompt-target 载入提示信息的容器,值为元素的id  仅在promptPosition或data-prompt-position设置为”inline“时有效

 

   jquery.validationEngine默认属性值

// LEAK GLOBAL OPTIONS
	$.validationEngine= {fieldIdCounter: 0,defaults:{

		// 触发控件校验的事件名称
		validationEventTrigger: "blur",
		// 自动滚动视窗到第一个错误位置
		scroll: true,
		// 为第一个input框聚焦
		focusFirstField:true,
		// 是否提示信息
		showPrompts: true,
		// 是否验证不可见元素(如type="hidden"的输入框)
		validateNonVisibleFields: false,
		// 用特殊class属性值 来忽略校验控件
		ignoreFieldsWithClass: 'ignoreMe',
		// Opening box position, possible locations are: topLeft,
		// topRight, bottomLeft, centerRight, bottomRight, inline
		// inline gets inserted after the validated field or into an element specified in data-prompt-target
                //提示信息的位置设定
		promptPosition: "topRight",
		bindMethod:"bind",
		// internal, automatically set to true when it parse a _ajax rule
		inlineAjax: false,
		// if set to true, the form data is sent asynchronously via ajax to the form.action url (get)
                //是否使用Ajax提交表单 默认是get方式
		ajaxFormValidation: false,
		// The url to send the submit ajax validation (default to action)              //设置Ajax提交的url 默认为form的action
		ajaxFormValidationURL: false,
		// HTTP method used for ajax validation
                //设置Ajax表单提交时使用的数据传输方式
		ajaxFormValidationMethod: 'get',
		// Ajax form validation callback method: boolean onComplete(form, status, errors, options)
		// retuns false if the form.submit event needs to be canceled.
               //表单提交,Ajax验证完成后的行为
		onAjaxFormComplete: $.noop,
		// called right before the ajax call, may return false to cancel               //表单提交验证通过后 Ajax提交之前的回调函数
		onBeforeAjaxFormValidation: $.noop,
		// Stops form from submitting and execute function assiciated with it
		onValidationComplete: false,

		// Used when you have a form fields too close and the errors messages are on top of other disturbing viewing messages
		doNotShowAllErrosOnSubmit: false,
		// Object where you store custom messages to override the default error messages
		custom_error_messages:{},
		// true if you want to validate the input fields on blur event
		binded: true,
		// set to true if you want to validate the input fields on blur only if the field it's not empty
		notEmpty: false,
		// set to true, when the prompt arrow needs to be displayed
		showArrow: true,
		// set to false, determines if the prompt arrow should be displayed when validating
		// checkboxes and radio buttons
		showArrowOnRadioAndCheckbox: false,
		// did one of the validation fail ? kept global to stop further ajax validations
		isError: false,
		// Limit how many displayed errors a field can have
		maxErrorsPerField: false,

		// Caches field validation status, typically only bad status are created.
		// the array is used during ajax form validation to detect issues early and prevent an expensive submit
		ajaxValidCache: {},
		// Auto update prompt position after window resize
		autoPositionUpdate: false,

		InvalidFields: [],
		onFieldSuccess: false,
		onFieldFailure: false,
		onSuccess: false,
		onFailure: false,
		validateAttribute: "class",
		addSuccessCssClassToField: "",
		addFailureCssClassToField: "",

		// Auto-hide prompt
		autoHidePrompt: false,
		// Delay before auto-hide
		autoHideDelay: 10000,
		// Fade out duration while hiding the validations
		fadeDuration: 0.3,
	 // Use Prettify select library
	 prettySelect: false,
	 // Add css class on prompt
	 addPromptClass : "",
	 // Custom ID uses prefix
	 usePrefix: "",
	 // Custom ID uses suffix
	 useSuffix: "",
	 // Only show one message per error prompt
	 showOneMessage: false
	}};

 

分享到:
评论

相关推荐

    jQuery.validationEngine 表单验证中文版

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

    jquery.validationEngine校验插件

    **jQuery ValidationEngine 插件详解** jQuery ValidationEngine 是一款强大的前端表单验证插件,它极大地简化了网页表单的验证过程,使开发者无需编写复杂的取值和正则表达式比较,即可实现丰富的验证功能。该插件...

    jQuery.validationEngine表单验证中文版

    jQuery.validationEngine是一款强大的前端表单验证插件,它为开发者提供了便捷的方式来实现表单数据的验证。这个插件以其丰富的功能、友好的用户界面和灵活的自定义能力而受到广泛欢迎。下面将详细介绍jQuery....

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

    本文将详细介绍如何使用jQuery.validationEngine进行表单验证,并实现与数据库的重名检测。 首先,我们需要了解jQuery.validationEngine的基本用法。这个插件提供了丰富的预定义规则和自定义规则,如非空、邮箱格式...

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

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

    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.validationEngine表单验证插件(推荐)

    虽然在提供的内容中有些地方由于OCR识别技术的原因,存在个别字识别错误或者漏识别的情况,但整体而言,文档提供的信息足够详细,可以帮助开发者快速掌握JQuery.validationEngine表单验证插件的使用方法,并将其应用...

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

    **jQuery表单验证插件ValidationEngine详解** 在Web开发中,表单验证是必不可少的一环,它能够确保用户输入的数据符合预设的规则,从而提高数据的准确性和系统的稳定性。ValidationEngine是一款基于jQuery的强大的...

    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

    在本文中,我们将深入探讨如何使用jQuery库实现动态表单验证,特别是基于`jquery.validationEngine.js`插件的用法。 jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和动画效果。在动态表单验证...

    jquery-validateEngine验证框架小demo

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

    jquery-ui-validation-Engine

    4. **处理提交**:在表单的 `onsubmit` 事件中,使用 `.validationEngine('validate')` 检查所有字段是否通过验证。如果验证失败,可以阻止表单提交。 5. **自定义提示**:可以通过 `promptPosition` 参数来设置...

    表单验证jquery插件

    &lt;link rel="stylesheet" type="text/css" href="path/to/validationEngine.jquery.css"&gt; ``` ## 3. 使用方法 ### 3.1 初始化验证 在页面加载完成后,使用 `$.validationEngine('attach')` 方法来初始化表单验证:...

    jQuery.Validator

    "validationEngine.jquery.css"是插件的样式文件,提供了丰富的样式定义,用于美化验证提示和错误消息的显示。通过自定义这些样式,你可以使验证反馈与网站设计风格保持一致,提升整体视觉效果。 6. **核心文件**...

    jQuery-Validation-Engine-2.6.2-ciaoca.zip

    只需在页面中引入 jQuery 和 Validation Engine 的 CSS、JavaScript 文件,然后通过 jQuery 选择器找到需要验证的表单,调用 `validationEngine('attach')` 方法即可激活验证功能。如果需要自定义验证规则或错误提示...

    jquery 表单验证

    本文将深入探讨jQuery的表单验证,特别是基于Validation Engine插件的实现。 jQuery的吸引力在于其简洁的API和强大的DOM操作能力,这使得处理表单验证变得简单。Validation Engine是一款非常流行的jQuery插件,它...

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

    **jQuery.validationEngine** 是一个用于前端表单验证的JavaScript插件,提供丰富的验证规则和提示效果,增强了用户体验。通过CSS样式和多国语言支持,可以轻松实现美观且功能强大的表单验证。 **Ajax** 技术允许在...

    Jquery验证插件

    本文介绍的是一个名为`validationEngine`的jQuery表单验证插件。 #### 三、功能特点 - **美观的验证提示**:该插件提供了美观的Tooltip效果来显示验证结果,增强了用户交互体验。 - **广泛的浏览器兼容性**:虽然...

Global site tag (gtag.js) - Google Analytics