`
yutian2211
  • 浏览: 25153 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

validator 和 datepicker同时使用时的小Bug

阅读更多
最近的一个项目中做一个验证,组长要求是用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消失后,执行的方法,估计也是可以,不过我没有测试……
1
0
分享到:
评论
2 楼 yutian2211 2010-08-11  
waiting 写道
所以要多看官网的demo,里面有详细的调用、方法、事件。
楼主这个属于找个datapicker的回调函数来执行验证。

呵呵,谢谢提醒,我也刚接触这个插件,今天又发现了一个方法:$("#mainForm").validator().element("#元素ID")来call单个的验证,呵呵,不过没有这个方便
1 楼 waiting 2010-08-11  
所以要多看官网的demo,里面有详细的调用、方法、事件。
楼主这个属于找个datapicker的回调函数来执行验证。

相关推荐

    Vue表单验证插件Vue Validator使用方法详解

    首先,为了使用Vue Validator,我们需要在项目中引入Vue.js和Vue Validator的库文件。在示例代码中,引用了Vue 1.0.24和Vue Validator 2.1.3的CDN链接。 基础使用: Vue Validator的使用始于在HTML模板中包裹一个`...

    hibernate Validator 使用指南

    《Hibernate Validator 使用指南》 Hibernate Validator 是一个强大的Java Bean验证框架,它基于JSR-303(Bean Validation)标准,提供了丰富的验证规则和自定义约束能力,使得开发者能够更方便地对Java对象进行...

    bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路

    这使得在使用Bootstrap Datepicker和BootstrapValidator的组合时,可以确保数据的准确性和一致性,避免因为验证问题导致的数据提交失败。 总结来说,要解决Bootstrap Datepicker与BootstrapValidator整合时的验证...

    Commons Validator 1.3与Struts 1.1混合使用时的问题处理

    这篇博客讨论的是在使用Commons Validator 1.3版本与Struts 1.1版本时遇到的问题及其解决方案。 Apache Commons Validator提供了一套强大的验证规则,用于确保用户输入的数据符合预设的规范。它允许开发者定义XML...

    Hibernate Validator 小例子

    通过这个 Hibernate Validator 的小例子,我们了解了如何在 Java 应用中使用注解进行数据验证,以及如何自定义验证逻辑和错误信息。这不仅可以提高代码的健壮性,也有助于提供更好的用户体验,因为用户将收到明确且...

    bootstrap、bootstrapValidator和jquery相关的部分js和css

    BootstrapValidator提供了多种内置验证器,并允许自定义验证规则,同时在验证失败时,会通过Bootstrap的样式提示用户错误信息,提高了用户体验。 jQuery是一个强大的JavaScript库,它简化了JavaScript的DOM操作、...

    bootstrapvalidator

    同时,你需要在JavaScript中初始化BootstrapValidator对象,指定表单元素和验证规则。 3. **验证规则**:BootstrapValidator提供了多种内置验证规则,如`required`(必填)、`email`(电子邮件格式)、`numeric`...

    bootstrap validator 使用简介

    接下来,我们将深入探讨Bootstrap Validator的使用方法和核心特性。 ### 一、引入Bootstrap Validator 首先,你需要在HTML文档中引入Bootstrap库和Bootstrap Validator的相关资源。这包括CSS样式文件、JavaScript...

    struts中使用validator验证框架

    Validator框架是Struts的一个重要组件,主要负责处理用户输入的数据验证,确保数据的完整性和正确性。在本文中,我们将深入探讨如何在Struts中使用Validator框架,并通过三个逐步进阶的实例来理解其工作原理。 首先...

    Validator

    下面我们将深入探讨`Validator`的几个关键概念和使用方法: 1. **验证注解**:这些注解是定义验证规则的核心。例如,`@NotNull`表示字段不能为空,`@Size(min=1, max=10)`则表示字段长度必须在1到10之间。还有许多...

    struts验证器validator使用,以及自定义验证器

    本文将详细介绍Struts验证器Validator的使用,包括基础配置、自定义验证器的创建,以及如何在Maven项目中管理和使用Eclipse进行编译。 **一、Struts验证器Validator的基本概念** Struts Validator是Struts框架提供...

    structs中使用validator框架记事本

    同时,为了确保这些结构体中的数据在使用前符合预期,我们常常会使用`validator`框架来进行数据验证。这个框架提供了丰富的验证规则,可以方便地与`structs`结合,以保证数据的正确性和安全性。 `validator`框架是...

    hibernate validator jsr303

    2. **hibernate-validator-annotation-processor-5.4.2.Final.jar**:这是一个编译时注解处理器,它在编译阶段自动处理验证注解,生成对应的元数据,有助于提高应用的性能和减少运行时错误。 3. **hibernate-...

    Struts Validator 开发指南

    这段代码指示 Struts 使用 `ValidatorPlugIn` 类,并指定了两个配置文件的位置:`validator-rules.xml` 和 `validation.xml`。`validator-rules.xml` 文件定义了各种预置的验证器,而 `validation.xml` 文件则根据...

    hibernate-validator示例demo

    综上所述,`Hibernate Validator`、`SpringMVC`和`Fastjson`的整合使用能够帮助我们构建出高效、健壮的Web应用,确保数据的准确性和安全性。在实际开发中,理解并熟练运用这些工具将大大提高开发效率和代码质量。

    validator框架的应用

    在使用`Validator框架`时,你需要做以下几个步骤: 1. **配置Validator插件**:在Struts的配置文件(如struts-config.xml)中,你需要启用Validator插件,并指定验证规则的配置文件路径。 2. **编写验证规则**:在...

    后台验证hibernate-validator必须的jar包

    `Hibernate Validator`是Java领域中最常用的验证框架之一,尤其在与Spring等框架结合使用时,能够方便地实现复杂的数据验证规则。本主题将详细讲解`Hibernate Validator`以及与之相关的`validation-api-2.0.1.Final....

Global site tag (gtag.js) - Google Analytics