博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery.validate.js校验select2解决方案,Jquery插件select2校验解决方案
阅读量:5842 次
发布时间:2019-06-18

本文共 2209 字,大约阅读时间需要 7 分钟。

jquery.validate.js校验select2解决方案

Jquery插件select2校验解决方案

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年9月15日 11:25:26 星期二

http://fanshuyao.iteye.com/

 

为了用jquery.validate.js校验select2,折腾了2天,现在终于解决了,把方法告诉大家。

 

一、使用用了select2美化select

 

 

$('select').select2();

 

 

 

二、页面部分代码

 

 

  

 

三、使用jquery.validate.js

导入js文件

jquery.validate.min.js

additional-methods.min.js

messages_zh.min.js

additional-methods-custom.js  (自己定义的校验方法扩展js文件)

 

四、校验

 

 

var validateObj = $('#userInfoEditForm').validate({    ignore: "",    errorClass : 'help-block',      focusInvalid : true,    rules : {          genders : {        	required : true        }    },      messages : {          genders : {              required : "请选择性别"          }    submitHandler : function(form) {    	return false;        form.submit();//form.submit(); 或者$(form).ajaxSubmit();    }  }); $("#genders").change(function(){	$(this).valid();});

 

 

五、问题说明

1、使用select2美化select下拉列表后,select2会把原来的select隐藏掉,设置css属性(display:none),然后再通过select2重新定制界面

 

2、但jquery.validate.js默认不是校验:hidden属性的控件,所以造成原来的select校验不了

官网说明:

ignore (default: ":hidden")

Type: Selector

Elements to ignore when validating, simply filtering them out. jQuery's not-method is used, therefore everything that is accepted by not() can be passed as this option. Inputs of type submit and reset are always ignored, so are disabled elements.

 

Example: Ignores all elements with the class "ignore" when validating.

 

$("#myform").validate({

  ignore: ".ignore"

});

 

3、解决方法就是加ignore属性,把值设置为""空字符串

ignore: "",

 

4、设置ignore后在提交时就会对隐藏的属性进行校验,但选择的时候没有进行实时校验,因为你选择的是select2。所以要给select加一个change事件,当改变时,再校验一次。

 

$("#genders").change(function(){	$(this).valid();});

 需要注意的是:valid方法是jquery.validate.js中的方法,所以用的时候,要先调用初始化方法validate( ),

然后在后面再重新调用valid()校验方法。

valid( )  可以校验整个表单,也可以校验单个属性。

官网说明:

valid( )  

Returns: Boolean

Description: Checks whether the selected form is valid or whether all selected elements are valid.

validate() needs to be called on the form before checking it using this method. 

 

 

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年9月15日 11:25:26 星期二

http://fanshuyao.iteye.com/

转载于:https://www.cnblogs.com/fanshuyao/p/6227174.html

你可能感兴趣的文章
动态追踪技术(四):基于 Linux bcc/BPF 实现 Go 程序动态追踪
查看>>
Cyber-Security: Linux 容器安全的十重境界
查看>>
监控工具htop的安装及使用
查看>>
Nodejs使用图灵机器人获取笑话
查看>>
【读书笔记】第三章 大型网站核心架构要素
查看>>
jvm参数设置
查看>>
易宝典文章——玩转Office 365中的Exchange Online服务 之十三 怎样管理Exchange Online的邮件用户和联系人...
查看>>
nexus 从Window迁移至Linux
查看>>
Spring 任务调度 简单的,使用Schedule
查看>>
通過OPENSHIFT進行DJANGO開發
查看>>
数据库union ,和union all
查看>>
SQL 2005删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突。)的解决...
查看>>
获取帮助
查看>>
7.4.4 IPv6的地址空间及其表示方法
查看>>
【Touch&input 】支持多个游戏控制器(18)
查看>>
2014年云计算五大趋势
查看>>
我的友情链接
查看>>
Java新手看招 常用开发工具介绍
查看>>
Windows Server 2008更改用户的环境变量和系统环境变量
查看>>
SQL语句学习
查看>>