posta o código!
não tem segredo.. mas então ta aí:
this.moradorDesde = new Ext.form.TextField({
id : 'id-mora-desde'+this.src
,fieldLabel : 'Morador desde'
,name : 'MORA_DESDE'
,width : 200
,disabled : true
,allowBlank : true
,plugins: [new Ext.ux.InputTextMask('99/9999', true)]
,validator: function(v){
v = String(v);
if(v == '')
return true;
value = v.split("/");
if(value[0] > 12){
return 'O mês é inválido.';
}
if(value[0] == '00'){
return 'O mês é inválido.';
}
if(value[0] == null){
return true;
}
return /[0-1]{1}[0-9]{1}\/[0-9]{4}/.test(v) ? true : 'Formato deve ser MM/AAAA.';
}
});
Essa é uma correção que estou fazendo no sistema. E o que consegui sacar, e talvez possa ser esse o problema..
Aconteceu este erro em uma base que já estava em uso. E este campo, quando não é digitado nada e salvo o cadastro, nesta base pelo jeito gravava como vazio, ao invés de nulo. E na base nova, está gravando como nulo.
O que acontece é que quando vou editar um registro em que este campo foi gravado como vazio, ele dá erro na máscara e permite digitar somente dois números. Tem que digitar, apagar o campo, selecionar em qualquer outro campo e depois mudar para este campo, aí a máscara vai estar certa e permitir digitar o mês/ano corretamente.
Quando edito um registro em que este campo foi gravado como nulo, não acontece este erro.