`

关于两个form中 Ext DateField 表单的验证

    博客分类:
  • Ext
EXT 
阅读更多
//判断两个日期差
Ext.apply(Ext.form.VTypes, {
   daterange : function(val, field) {
        var date = field.parseDate(val);

        if(!date){
            return;
        }
        if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
            var start = Ext.getCmp(field.startDateField);
            start.setMaxValue(date);//这两行调换一下位置
            this.dateRangeMax = date;//这两行调换一下位置
            start.validate();
           
        } 
        else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
            var end = Ext.getCmp(field.endDateField);
            end.setMinValue(date);      //这两行调换一下位置
             this.dateRangeMin = date;  //这两行调换一下位置
            end.validate();
           
        }
        /*
         * Always return true since we're only using this vtype to set the
         * min/max allowed values (these are tested for after the vtype test)
         */
        return true;
    }
});



经过 longlong 的帮助 好像搞懂了 原因是出在

两个form可能拿到的是同一个Ext.form.VTypes的实例的引用 估计这地方有问题 在两个form进行时间验证时 dateRangMin或dateRangeMax是否改变的是同一份地址的值呢?这个需要再深入的看一下呵呵 如果在validate之前将dateRangeMin或Max设为当前form的feild的最小或最大日期 再去validate 我按照这个思路去调整 结果可以了 但是不是这个原因 还需要看看源码 求证一下了 你也可以看看
分享到:
评论

相关推荐

    Ext DateField控件 - 只选择年月

    1. **类定义**:创建一个新的DateField子类,可能命名为`MonthPicker`,继承自Ext.form.field.DateField。 2. **配置项**:定义新的配置选项,如`allowOnlyMonthYear`,用于开启只选择年月模式。 3. **模板修改**:...

    Ext.form表单中各种属性应用详解

    ### Ext.form表单中各种属性应用详解 ...以上介绍了 **Ext.form** 表单中常见的几个组件及其配置选项,这些组件为 Web 应用程序提供了丰富的功能和用户体验。通过合理的配置,可以轻松构建出复杂且交互性强的表单界面。

    EXT.form组件

    1. `form`:`Ext.FormPanel`是EXT JS中的表单面板,它是一个容器,可以容纳各种表单字段和其他组件。表单面板允许你定义布局、提交行为以及处理表单数据的方法。 2. `checkbox`:`Ext.form.Checkbox`是用于创建复选...

    Ext2.0 form使用实例的例程

    在这个“Ext2.0 form使用实例的例程”中,我们将深入探讨Ext 2.0的表单(form)组件及其应用。 表单在任何应用程序中都扮演着至关重要的角色,用于收集和验证用户输入的数据。Ext 2.0的表单组件提供了一整套完整的...

    ExtJs 带清空功能的日期组件

    在表单中,我们可以像使用普通DateField一样使用我们的ClearableDateField。 ```javascript Ext.create('Ext.form.Panel', { items: [{ xtype: 'clearabledatefield', fieldLabel: '日期' }], renderTo: Ext....

    ext_表单提交_数据校验

    `Ext.form.HtmlEditor`是一个富文本编辑器,提供了多种格式化工具,如对齐、字体颜色、字体大小等。通过`enableAlignments`、`enableColors`等参数,可以开启或关闭不同的编辑功能,以适应不同复杂度的文本编辑需求...

    ext 2.0 form demo

    在这个"EXT 2.0 form demo"中,我们将深入探讨EXT在构建动态、交互式表单方面的强大功能。 一、EXT 2.0的核心特性 1. 组件化:EXT 2.0的核心是组件模型,允许开发者将UI元素(如按钮、表格、表单)视为独立的可...

    EXT from培训教材

    这将向表单中添加两个文本字段。 EXT表单的灵活性和可扩展性使得它在复杂的前端应用中非常有用。你可以自定义验证规则、布局样式、提示信息等,以满足各种需求。同时,EXT表单提供了丰富的事件处理机制,可以监听...

    Ext中xtype和vtype.

    在 Ext 中,xtype 和 vtype 是两个非常重要的概念,它们分别用于定义组件的类型和验证规则。 xtype 是 Ext 中的一种组件类型,它定义了组件的行为和外观。Ext 提供了许多内置的 xtype,例如 button、textfield、...

    ext 的ppt ext 的ppt ext 的pptext 的pptext 的ppt

    Ext JS 是一个强大的JavaScript库,主要用于...总之,Ext Form是Ext JS中的强大组件,提供了丰富的功能来创建、验证和提交表单数据。通过熟练掌握这些知识点,开发者可以构建出高效、用户体验良好的Web应用表单界面。

    ext 3.0中文API

    此外,EXT的表单组件如TextField、ComboBox和DateField等,提供了丰富的输入验证和用户交互功能。 在EXT 3.0的API文档中,每个类都有详细的说明,包括其构造函数、公共方法、属性和事件。例如,`Ext.Panel`类是EXT...

    ext 日期时间控件

    EXT时间控件的实现基于Ext.form.DateTimeField类,这个类继承自Ext.form.DateField,增加了对时间选择的支持。使用DateTimeField,你可以指定日期和时间的格式,例如"Y年M月d日 H:i:s",其中Y代表四位数的年份,M...

    Ext2.0 form使用实例

    通过`Ext.QuickTips.init()`启动快速提示功能,以便为表单中的控件提供必要的帮助信息。接着,`Ext.form.Field.prototype.msgTarget = 'side';`将错误信息定位到控件右侧,以图标形式显示,用户可以通过鼠标悬停查看...

    Ext组件描述,各个组件含义

    - **功能描述**:Form Panel 是一个包含表单字段的面板。 - **主要用途**:用于创建和管理表单,支持数据验证和提交。 **2.17 Checkbox (Ext.form.Checkbox)** - **xtype**: `checkbox` - **功能描述**:Checkbox ...

    Ext 表单布局实例代码

    接着,代码创建了几个表单字段实例,如`Ext.form.DateField`和`Ext.form.TextField`。每个字段都包含了一些配置属性,如`fieldLabel`(字段标签)、`emptyText`(默认文本)、`format`(日期格式)、`disabledDays`...

    Extjs fieldset两行两列布局

    该下拉框用于选择项目名称和代码值,数据源为一个简单的存储对象(`SimpleStore`),其中包含两个选项(空字符串和数值1/0)。下拉框的一些关键属性如下: - `triggerAction:'all'`:表示用户可以在下拉列表中输入...

    Extjs中常用表单介绍与应用

    本文将详细介绍ExtJS中常用表单组件的创建、应用以及验证和数据绑定等方面的知识,旨在帮助读者深入理解和掌握ExtJS表单的使用方法。 ### 表单面板(FormPanel)的创建 在ExtJS中,表单面板(FormPanel)是创建...

    EXT 完美教程

    EXT JS中的表单是其强大功能的一部分,提供了多种表单控件,如TextField、TextArea、DateField、TimeField、HtmlEditor、ComboBox、Checkbox和Radio。以创建一个简单的表单为例,可以使用FormPanel来组织这些控件: ...

    Ext Js权威指南(.zip.001

    Ex4.0共2个压缩包特性,《ext js权威指南》 前 言 第1章 ext js 4开发入门 / 1 1.1 学习ext js必需的基础知识 / 1 1.2 json概述 / 3 1.2.1 认识json / 3 1.2.2 json的结构 / 3 1.2.3 json的例子 / 4 1.2.4 ...

Global site tag (gtag.js) - Google Analytics