我有一个像这样的表格的日期字段:
{
xtype:'datefield',
name:'order[date]',
id:'dato',
format:'d-m-Y',
allowBlank: false,
cls:'input_single',
emptyText:'dd-mm-yyyy',
minValue:new Date().add('d',-1),
onFocus: function(){
if (this.el.getValue() == 'dd-mm-yyyy') {
Ext.getCmp('dato').setValue('');
}
},
msgTarget:'side',
minText:'Must be future date',
validationEvent:false
}
现在我的问题是我想强制用户使用dd-mm-yyyy格式,但使用上面的代码,用户可以在2010年10月1日输入01102010。
我认为这种格式:'d-m-y'会强制这样,但它不会。
验证应该是客户端。
因此,该字段应该将日期重新格式化为01-10-2010 onblur,或者它应该不允许其他格式而不是dd-mm-yyyy。最后版本是首选:)
提前致谢!
答案 0 :(得分:1)
刚刚在api文档中进行了一些研究并找到了
altFormats:'d-m-Y',
解决了这个问题。现在它只接受上述格式。
答案 1 :(得分:0)
您可以创建和使用自己的VType并包含它,您可以检查用户是否已进入有效日期。此外,它为您提供更多的可重用性。参考:http:docs /#!/ api / Ext.form.field.VTypes