`
pfwang
  • 浏览: 106021 次
社区版块
存档分类
最新评论

jQuery插件之表单验证插件validationEngine

阅读更多

功能:Tooltip效果网页表单校验,效果如下图:

图片

普通验证的例子:http://www.position-relative.net/creation/formValidator/

ajax验证的例子:http://www.position-relative.net/creation/formValidator/demoSubmit.html

这个插件支持大部分的浏览器,但由于有使用到了css3的阴影和圆角样式,所以在IE浏览器下无法看到圆角和阴影效果(万恶的IE)。

插件包含三个文件:

jquery.validationEngine.js    //插件主JS文件

jquery.validationEngine-cn.js   //验证规则JS文件

validationEngine.jquery.css  //样式表文件

 

使用方法:

( 1 ) 引入jquery和插件js、css文件

---------------------------------------------------------------------------------------------------------------------

<link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css" media="screen" charset="utf-8" />

<script src="js/jquery.js" type="text/javascript"></script>

<script src="js/jquery.validationEngine-cn" type="text/javascript"></script>

<script src="js/jquery.validationEngine.js" type="text/javascript"></script>

 ---------------------------------------------------------------------------------------------------------------------

 

( 2 ) 初始化插件

在页面head区域加入如下代码:

---------------------------------------------------------------------------------------------------------------------

$(document).ready(function() {

   $("#formID").validationEngine() ;            //formID是你要验证的表单ID

})

---------------------------------------------------------------------------------------------------------------------

 

( 3 ) 添加表单元素验证规则

     验证规则写在表单元素的class属性内即可。如验证text文本框:

---------------------------------------------------------------------------------------------------------------------

<input value=""  class="validate[required,custom[noSpecialCaracters],length[0,20],ajax[ajaxUser]]"  type="text"  name="user"  id="user" />

---------------------------------------------------------------------------------------------------------------------

注:本例使用4个验证规则,各规则之间以“,”分隔。

required:不可为空

custom[noSpecialCaracters]:不能有特殊字符(这是一个自定义规则,自定义规则格式为custom[自定义规则名],其中自定义规则在jquery.validationEngine-cn文件中定义。

length[0,20]:长度必须在0-20位之间。

ajax[ajaxUser]:这是一个Ajax验证,后面详细说明。

 

( 4 ) 验证触发

你可以在点击提交按钮后才触发验证

---------------------------------------------------------------------------------------------------------------------

$("#formID").validationEngine({

    inlineValidation: false,     //在这里修改

    success :  false,

    failure : function() { callFailFunction()  }

})

---------------------------------------------------------------------------------------------------------------------

 

默认的是在鼠标失去焦点后才开始验证,也就是绑定的是blur事件,可修改。

---------------------------------------------------------------------------------------------------------------------

$("#formID").validationEngine({

    validationEventTriggers:"keyup blur",    //这里增加了个keyup,也就是键盘按键起来就触发验证

    success :  false,

    failure : function() { callFailFunction()  }

})

 ---------------------------------------------------------------------------------------------------------------------

 

( 5) 修改错误提示层位置

---------------------------------------------------------------------------------------------------------------------

$("#formID").validationEngine({

  promptPosition: "topRight",   // 有5种模式 topLeft, topRight, bottomLeft,  centerRight, bottomRight

  success :  false,

    failure : function() {

})

 ---------------------------------------------------------------------------------------------------------------------

 

( 6) Ajax验证

---------------------------------------------------------------------------------------------------------------------

<input name="login_name" type="text"  class="validate[ajax[ajaxUser]] text" id="login_name" >

---------------------------------------------------------------------------------------------------------------------

此验证要实现:在文本框中输入用户名,文本框失去焦点时检测用户名是否已被注册,如果已被注册显示提示“用户名已被使用”,如果还没有被注册则显示提示“用户名可以使用”。

 

此处使用了验证规则ajax[ajaxUser] ,看看jquery.validationEngine-cn中验证规则定义:

---------------------------------------------------------------------------------------------------------------------

"ajaxUser":{
    "file":"validateUser.asp"              //后台脚本文件,插件会POST三个参数:validateError;validateId;validateValue,后台脚本直接request即可

    "alertTextOk":"* 用户名可以使用.", 
    "alertTextLoad":"* 检查中, 请稍后...",   
    "alertText":"* 用户名已被使用."             

}, 

---------------------------------------------------------------------------------------------------------------------

说明:后台脚本文件必须返回json格式数据。

插件官方提供的示例为php脚本,代码如下:

---------------------------------------------------------------------------------------------------------------------

<?php
$validateValue=$_POST['validateValue'];          //获取post参数:文本框值
$validateId=$_POST['validateId'];               //获取post参数:文本框ID
$validateError=$_POST['validateError'];          

$arrayToJs = array();        //定义json返回数组,顺序必须为validateId、validateError、returnValue
$arrayToJs[0] = $validateId;
$arrayToJs[1] = $validateError;

if($validateValue =="karnius"){  //如果输入值=karnius
     $arrayToJs[2] = "true";   // 返回 TRUE
     echo '{"jsonValidateReturn":'.json_encode($arrayToJs).'}';   // 验证成功返回json数组
}else{
      for($x=0;$x<1000000;$x++){
           if($x == 990000){
                 $arrayToJs[2] = "false";  // 返回 TRUE
             echo '{"jsonValidateReturn":'.json_encode($arrayToJs).'}';  // 验证失败返回json数组
            }
       }
}
?>

 ---------------------------------------------------------------------------------------------------------------------

由于本人程序使用的是ASP,参考官方提供的php后台脚本编写ASP代码如下:

---------------------------------------------------------------------------------------------------------------------

<%
 validateValue = request("validateValue")
 validateId = request("validateId")
 validateError = request("validateError")
 sql="select * from Cms_Personnel where login_name='"&validateValue&"'"
 dbCon.sqlStr = sql
 set rs = dbCon.rsDB()
 if not rs.eof then
      response.Write("{'jsonValidateReturn':['"&validateId&"','"&validateError&"','false']}")
 else
       response.Write("{'jsonValidateReturn':['"&validateId&"','"&validateError&"','true']}")
 end if
%>

---------------------------------------------------------------------------------------------------------------------

说明:php的json_encode(mixed $value )函数能对变量进行JSON 编码。

asp中只要Rsponse

{"jsonValidateReturn":["validateId","validateError","returnValue"]}

形式字串即可。

注意response的JSON数组元素顺序,必须是validateId、validateError、returnValue

---------------------------------------------------------------------------------------------------------------------

最终效果如下:

图片

 

 图片

再附一段JAVA的Ajax后台脚本代码:

---------------------------------------------------------------------------------------------------------------------

public String vali() {  
        ActionContext ac = ActionContext.getContext();  
        HttpServletRequest request = (HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);  
        String validateId = request.getParameter("validateId");      //获取插件post参数validateId
  logger.info("vali() - String validateId=" + validateId);   
        String validateValue = request.getParameter("validateValue");   //获取插件post参数validateValue
        String validateError = request.getParameter("validateError");   //获取插件post参数validateError
        logger.info("vali() - String validateError=" + validateError);     
        jsonValidateReturn.add(validateId);  
        jsonValidateReturn.add(validateError);   
        if(validateValue.equals("chen"))  
                jsonValidateReturn.add("true");  
        else 
               jsonValidateReturn.add("false");  
        return SUCCESS;  

---------------------------------------------------------------------------------------------------------------------

分享到:
评论

相关推荐

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

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

    表单验证jquery插件

    jQuery Validation Engine 是一个功能强大的表单验证插件,以其简单易用和丰富的自定义选项而受到开发者的青睐。 ## 1. jQuery Validation Engine 插件简介 jQuery Validation Engine 是一款基于 jQuery 库的验证...

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

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

    jQuery.validationEngine表单验证中文版

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

    jQuery.validationEngine 表单验证中文版

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

    jquery表单验证插件

    **jQuery 表单验证插件详解** 在网页开发中,表单验证是不可或缺的一部分,它确保用户输入的数据符合预设的规则,提高了用户体验并减少了服务器端的负担。jQuery,一个轻量级、高性能的JavaScript库,提供了丰富的...

    jquery.validationEngine校验插件

    jQuery ValidationEngine 是一款强大的前端表单验证插件,它极大地简化了网页表单的验证过程,使开发者无需编写复杂的取值和正则表达式比较,即可实现丰富的验证功能。该插件以其直观、易用和高度可定制性而受到广大...

    表单验证jQuery-Validation-Engine-master

    **jQuery Validation Engine** 是一个强大的JavaScript插件,主要用于前端网页上的表单验证。它通过提供丰富的自定义样式和多种验证规则,帮助开发者实现用户输入数据的有效性和格式验证,确保用户在提交表单前输入...

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

    《jQuery.validationEngine控件在表单验证与数据库重名检测中的应用详解》 在Web开发中,表单验证是不可或缺的一环,它确保了用户输入数据的准确性和完整性。jQuery.validationEngine是一款强大的JavaScript验证...

    validationEngine验证组件改样式

    validationEngine是一款基于jQuery的表单验证插件,它提供了丰富的验证规则和自定义错误消息功能,使得在网页中实现复杂的用户输入验证变得简单易行。这个压缩包文件可能包含了经过修改后的validationEngine验证组件...

    jQuery表单验证插件

    **jQuery表单验证插件——formValidator** 在Web开发中,表单验证是必不可少的一环,它确保用户输入的数据符合预设的规则,避免无效数据的提交,提高用户体验。jQuery formValidator是一个强大的验证插件,它能够...

    Jquery验证插件

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

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

    JQuery.validationEngine是一款基于jQuery的表单验证插件,它提供了一种简单且高效的方式来增强表单验证功能。通过这款插件,开发者可以在Web应用中轻松实现输入数据的合法性检验,提高用户体验,减少无效数据的提交...

    jQuery-Validation-Engine-master

    **Validation Engine**:Validation Engine是基于jQuery的表单验证插件,它的主要目标是为用户提供友好的、可定制的表单验证体验。它包含了多种预设的验证规则和错误提示样式,可以轻松地应用到任何HTML表单上。 ##...

    动态表单验证 jquery

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

    jquery-ui-validation-Engine

    `jQuery UI Validation Engine` 是一款强大的前端验证插件,主要用于提升用户体验,确保用户在交互式表单中输入的数据是有效和正确的。这款插件充分利用了 `jQuery` 和 `jQuery UI` 的优点,提供了一套美观、可...

    jQuery-formValidator表单验证

    jQuery-formValidator是一款基于jQuery的轻量级表单验证插件,它通过简洁的API接口,让开发者能够快速实现各种复杂的表单验证逻辑。该插件不仅支持多种内置验证规则,还允许开发者自定义验证函数,满足个性化的验证...

    jquery 表单验证

    Validation Engine是一款非常流行的jQuery插件,它提供了一套美观且高度可定制的验证机制,特别适合于创建具有现代UI的表单。 首先,我们需要在项目中引入jQuery库和Validation Engine插件的相关文件。通常,这包括...

    jQuery-Validation-Engine-2.6.2-ciaoca.zip

    jQuery Validation Engine 2.6.2 是一个强大的表单验证插件,由 Ciaoca 进行了中文增强,使得该工具更适合中国用户使用。这个插件基于流行的 JavaScript 库 jQuery,旨在提供一种简单而优雅的方式来验证用户在网页...

    jquery 表单验证集合

    1. **jQuery Validation Plugin**:这是最常用的jQuery表单验证插件,由Jörn Zaefferer开发。它提供了丰富的内置验证规则和易于定制的API。 2. **ValidationEngine**:这是一个功能强大的验证引擎,支持多语言,...

Global site tag (gtag.js) - Google Analytics