Ext.apply(Ext.form.field.VTypes,
{
//首先定义一个vtype名称,和他的验证函数,val参数是文本框的值,field是文本框。一般我就使用val和正则表达式比较就OK了。
//然后定义一个vtype的报错信息,与vtype名称加Text后缀。OK了。
passwd: function(val, field)
{
if (field.initialPassField)
{
var pwd = Ext.getCmp(field.initialPassField);
return (val == pwd.getValue());
}
return true;
},
passwdText: '两次输入的密码不一致!',
chinese:function(val,field)
{
var reg = /^[\u4e00-\u9fa5]+$/i;
if(!reg.test(val))
{
return false;
}
return true;
},
chineseText:'请输入中文',
age:function(val,field)
{
try
{
if(parseInt(val) >= 18 && parseInt(val) <= 100)
return true;
return false;
}
catch(err)
{
return false;
}
},
ageText:'年龄输入有误',
alphanum:function(val,field)
{
try
{
if(!/\W/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
alphanumText:'请输入英文字母或是数字,其它字符是不允许的.',
url:function(val,field)
{
try
{
if(/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
urlText:'请输入有效的URL地址.',
max:function(val,field)
{
try
{
if(parseFloat(val) <= parseFloat(field.max))
return true;
return false;
}
catch(e)
{
return false;
}
},
maxText:'超过最大值',
min:function(val,field)
{
try
{
if(parseFloat(val) >= parseFloat(field.min))
return true;
return false;
}
catch(e)
{
return false;
}
},
minText:'小于最小值',
datecn:function(val,field)
{
try
{
var regex = /^(\d{4})-(\d{2})-(\d{2})$/;
if(!regex.test(val)) return false;
var d = new Date(val.replace(regex, '$1/$2/$3'));
return (parseInt(RegExp.$2, 10) == (1+d.getMonth())) && (parseInt(RegExp.$3, 10) == d.getDate())&&(parseInt(RegExp.$1, 10) == d.getFullYear());
}
catch(e)
{
return false;
}
},
datecnText:'请使用这样的日期格式: yyyy-mm-dd. 例如:2008-06-20.',
integer:function(val,field)
{
try
{
if(/^[-+]?[\d]+$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
integerText:'请输入正确的整数',
minlength:function(val,field)
{
try
{
if(val.length >= parseInt(field.minlen))
return true;
return false
}
catch(e)
{
return false;
}
},
minlengthText:'长度过小',
maxlength:function(val,field)
{
try
{
if(val.length <= parseInt(field.maxlen))
return true;
return false;
}
catch(e)
{
return false;
}
},
maxlengthText:'长度过大',
ip:function(val,field)
{
try
{
if((/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(val)))
return true;
return false;
}
catch(e)
{
return false;
}
},
ipText:'请输入正确的IP地址',
phone:function(val,field)
{
try
{
if(/^((0[1-9]{3})?(0[12][0-9])?[-])?\d{6,8}$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
phoneText:'请输入正确的电话号码,如:0920-29392929',
mobilephone:function(val,field)
{
try
{
if(/(^0?[1][35][0-9]{9}$)/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
mobilephoneText:'请输入正确的手机号码',
alpha:function(val,field)
{
try
{
if( /^[a-zA-Z]+$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
alphaText:'请输入英文字母',
money:function(val,field)
{
try
{
if(/^\d+\.\d{2}$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
moneyText:'请输入正确的金额',
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);
start.validate();
this.dateRangeMax = date;
} else if (field.endDateField
&& (!this.dateRangeMin || (date.getTime() != this.dateRangeMin
.getTime()))) {
var end = Ext.getCmp(field.endDateField);
end.setMinValue(date);
end.validate();
this.dateRangeMin = date;
}
/*
* 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;
},
daterangeText : '开始时间必须小于结束时间'
});
{
xtype : 'datefield',
fieldLabel : '开始时间',
altFormats: 'Y-m-d',
format : 'Y-m-d',
id : 'createStartTime',
name : 'createStartTime',
maxValue : new Date(),
editable : false,
vtype : 'daterange',
endDateField :"createEndTime"
},{
xtype : 'datefield',
fieldLabel : '结束时间',
altFormats: 'Y-m-d',
format : 'Y-m-d',
id : 'createEndTime',
name : 'createEndTime',
maxValue : new Date(),
vtype : 'daterange',
editable : false,
startDateField : "createStartTime"
}
- 大小: 132.3 KB
分享到:
相关推荐
这个"EXTJS扩展例子集"显然是一个包含EXTJS3.0相关扩展组件的资源包,旨在帮助开发者理解和学习如何使用这些扩展。 在EXTJS中,扩展(Extensions)通常是指对框架原有功能的增强或定制,它们可以是新的组件、小部件...
在EXTJS这个强大的JavaScript框架中,时间控件是开发者经常使用的组件之一,尤其在构建复杂的Web应用程序时。EXTJS的时间控件允许用户选择或输入时间,通常以小时、分钟和秒为单位,提供了用户友好的界面和丰富的...
Extjs表单VTYPE扩展,方便验证!
本文将深入探讨“Extjs扩展DateTimeField时间初始化及点击日期显示Bug”这一主题,帮助开发者解决实际开发中遇到的难题。 DateTimeField是EXTJS中用于处理日期和时间选择的组件,它允许用户同时选择日期和时间,...
9. **扩展性**:为了增加时间轴的功能,可以编写插件或扩展。例如,添加搜索功能查找特定事件,或者添加过滤器只显示特定时间段的事件。 10. **3DTimeline组件**:虽然标题中没有明确提及,但“3DTimeline”可能是...
ExtJS是一个强大的JavaScript框架,主要用于构建富客户端的Web应用程序...通过理解以上知识点,你可以更好地理解和解决关于ExtJS 4.1版本日期时间控件的问题,无论是显示异常还是功能扩展,都可以游刃有余地进行处理。
总之,EXTJS时间控件是其组件库中的一个重要部分,它通过灵活的配置和扩展机制,能够满足各种复杂的时间选择需求。通过深入理解和实践,开发者可以创建出符合项目需求的自定义时间控件,提升用户体验并增强应用程序...
"Extjs树分页组件扩展"就是为了解决这一问题而设计的,它通过扩展TreeLoader和PagingToolbar,实现了在树形组件中进行分页加载的效果。 **TreeLoader的扩展** TreeLoader是ExtJS中负责异步加载树节点的类。在原生...
总之,ExtJS 5 的日期时间控件提供了一种方便、直观的方式来处理日期和时间输入,具有高度可配置性和可扩展性。它通过结合日期和时间选择器,满足了开发者对日期时间组件的需求,并且通过丰富的配置选项和事件处理...
在标题和描述中提到的“ExtJs DWR扩展”是指将这两者结合使用,以增强数据交换和UI更新的能力。 1. **DWRProxy**: DWRProxy是ExtJs中的一个类,它作为DWR和ExtJs之间的桥梁,使得ExtJs可以利用DWR的远程调用功能。...
在给定的场景下,"extjs6 datetimefield 扩展时间控件 分时秒控件"描述了一个针对EXTJS6的`datetimefield`组件的增强,目的是增加对小时、分钟和秒钟的单独选择功能。 EXTJS6是Sencha公司推出的一个强大的...
通过学习和使用这些扩展控件,开发者可以提高代码的复用性,减少开发时间,并提升应用程序的灵活性。 接着是“ExtJs:收集基于ExtJs扩展的一些控件2”。这可能是对另一批ExtJs扩展控件的介绍,可能包含了一些新的或...
然而,有时开发人员可能需要对这些控件进行自定义,以满足特定业务需求,比如在本例中,我们需要扩展EXTJS的时间控件以实现“年度”选择的功能。 EXTJS的Date Picker默认提供了日、月、年的选择,但可能并不完全...
总之,“extjs3.2、3.3 时间控件 日期控件扩展”是关于如何在ExtJS 3.x版本中使用和自定义日期及时间选择器的知识点,涵盖了基本使用、扩展开发、实际应用等多个方面。通过深入理解这些概念,开发者可以创建出更加...
标题中提到的"extjs 日期时间",指的是ExtJS框架内用于处理日期和时间输入的组件。这个控件通常会包含两个部分:日期选择器和时间选择器,允许用户精确地指定一个日期和时间。在ExtJS 2.0中,这个控件可能还不是非常...
标题中的"extjs3.0 日期时间控件"指的是ExtJS 3.0框架中的DateTimeField组件,这是一个组合了日期选择器和时间选择器的控件,允许用户以交互的方式选择精确的日期和时间。这个控件通常用于表单中,提供了一种直观且...
在标题提到的"真正的Extjs 4.2 支持时间选择的日历扩展"中,我们关注的是一个特定的日历组件,它增强了ExtJS 4.2的基本功能,添加了对时间选择的支持。这意味着用户不仅可以选择日期,还可以选择具体的时间,这在...
extjs扩展教程 extjs扩展教程extjs扩展教程
EXTJS中的DateTimeField不仅包含了基本的文本输入功能,还扩展了选择日期和时间的能力。用户可以点击输入框旁边的图标来弹出日期和时间选择器,然后选择合适的日期和时间。DateTimeField也支持验证和格式化输入值,...
总结,ExtJs的日期时间选择控件是一个功能强大且灵活的组件,不仅提供了丰富的配置选项和事件机制,还能通过自定义和扩展满足各种复杂需求。优化后的时间选择控件精确到秒,使得在需要精确时间信息的场景下表现得尤...