最近的一个项目中做一个验证,组长要求是用Jquery.validator来做,一开始不怎么会这个,后来看看他给一个Demo,就差不多了!
后面页面差不多做好的时候,发现了一个小问题:一个使用datepicker的文本框上,点击过后,里面的数据得不到立即的验证,开始怎么搞都不行,后来我在代码处加了alert,然后发现了他的运行流程:
引用
input.date 得到焦点--弹出UI.datepicker--点击选择日期--将值给input.date
这个其中input.date 的焦点情况是:得到--失去,也就是说,你在弹出datepicker的UI的时候,焦点就已经失去了,可是validator是在blur的时候,就开始验证了,那个时候,input.date的值还是前一个的值,所以验证是前一个的值,新改的值的得不到立即验证,所以给人的UI很不友好!
后来,怎么解决呢?有两个思路:1,一个是用onchange事件监控input.date的value改变,改变以后call下valiation,这种方法要再重写一个validation的funciton;2,可不可以让他选择了日期以后,再让input.date再来一个获取焦点,失去焦点的操作,这样就可以触发onblur事件了,然后就validation……
和组长讨论了一下,第一种方法被他否决了,他认为这种再写一个function,会破坏页面结构,除非我能直接call jquery.validation的rules中的一个规则,不过我没有找到这个方法,不知道大家有吗?拿出来共享下……
所以只好采用第二种方法:开始是这样想的,在规则下面再加一行红色的
rules:{
birthDate: {
isLessThanTodayDate:true,
//焦点得到,失去方法
focusGetLost:true
},
当时没想到,这个规则也是在blur下执行的,不可能在选择了日期后再执行,测试了以后,失败,不过,这也提供了一个思路,就是要找在日期选择了以后,再执行的方法。。。
于是google 百度下好长时间,终于发现了:datepicker的onSelect,呵呵,这是在选择了以后,执行的方法,于是,我在加上了以下代码 :
$("input.date").datepicker({
dateFormat: 'yy-mm-dd',
onSelect:function(date){
this.focus();
this.blur();
}
});
于是,问题解决了,呵呵!当时好高兴,现在趁着记忆写下来。
datepicker还有一个方法onClose,在datepicker的UI消失后,执行的方法,估计也是可以,不过我没有测试……
分享到:
相关推荐
主要为大家详细介绍了Vue表单验证插件Vue Validator使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要介绍了bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路的相关资料,需要的朋友可以参考下
bootstrap validator 使用简介 bootstrap validator 使用简介
hibernate Validator 对hibernate内置约束条件 以及自定义约束条件的创建 都有很详细的说明 适合新手的学习 以及高手的巩固
bootstrap、bootstrapValidator和jquery相关的部分js和css,用于bootstrap前端开发和表单验证。
[链接测试工具]HTML Link Validator使用手册
Hibernate Validator的小例子,演示了最常用的几个注解以及验证方法,还是用了自定义的验证信息。 项目需求:Gradle构建工具,Eclipse或IDEA开发环境。
许多开发者为方便一直使用struts验证器,这篇文档首先概述验证器的核心功能性,然后大概介绍在 struts1.1中的变化和新增功能。 <br> 国际化 在validator-rules.xml 文件中form的验证规则可以组织为FormSet...
表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-...
对structs中使用validator时的一些重点知识详细的记录下来!
该demo是struts验证器validator使用,以及struts基本配置,自定义创建struts的验证器,使用maven创建管理工程,使用eclipse编译器
bootstrapvalidator 基于bootstrap的表单验证插件 基于bootstrap的表单验证插件
Validator早期版本是基于JavaScript技术的伪静态类和HTML Element的自定义属性,可以对页面中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单。 Validator v4.0考虑了绝大多数情况下的应用可能,几乎...
1.bootstrap使用4.0 2.customValidator.css Bootstrap v4.0.0-beta (https://getbootstrap.com) jQuery v3.2.1
struts中使用validator框架由简单到复杂的三个实例,附加说明。
Struts Validator 开发指南
springmvc +fastjson +validator 示例整合
validator框架的一个小例子