我正在使用 ExtJS 2.1,但遇到以下问题,我讨厌“日期字段”。现在必须以“MM/DD/YYYY”格式输入日期。问题是,如果用户输入诸如“21/17”或“16/05”之类的内容,它将被转换为有效日期。(21/17 转换为 9/17/2015,16/05 转换为 4/05/2015)。如何覆盖此行为?我尝试编写自己的验证器,但这也无济于事,即使我的验证器返回“false”,转换仍然会发生。下面是代码:
var d = new Ext.form.DateField({
el: el.dom,
id: id,
format: 'm/d/Y',
hideTrigger: false,
allowBlank: true,
disabled: isDisabled,
validator: testForShortDate,
validateOnBlur: true,
minLength:6,
//validationEvent: false, //string or boolean
invalidText: 'Enter date as MM/DD/YYYY',
menuListeners: Ext.applyIf({
select: function (m, d) {
Ext.form.DateField.prototype.menuListeners.select.apply(this, arguments);
this.focus.defer(100, this);
onDateSelect(m, d, this);
}
})
});
d.render();
d
function testForShortDate(date) {
if (date.split("/").length != 3) {
console.log(date.split("/").length);
return false;
}
return true;
任何人都可以帮忙吗?