forked from elmau/empresa-libre
65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
|
|
|
|
webix.ui.datafilter.rowCount = webix.extend({
|
|
refresh:function(master, node, value){
|
|
node.firstChild.innerHTML = master.count();
|
|
}
|
|
}, webix.ui.datafilter.summColumn)
|
|
|
|
|
|
function validate_rfc(value){
|
|
rfc = value.trim().toUpperCase();
|
|
if ( rfc == ""){
|
|
webix.message({ type:"error", text:"El RFC no puede estar vacío" });
|
|
return false
|
|
}
|
|
|
|
var tipo_persona = $$('tipo_persona').getValue()
|
|
var length = 13
|
|
var start = 4
|
|
if(tipo_persona==2){
|
|
length = 12
|
|
start = 2
|
|
}
|
|
if (rfc.length != length){
|
|
webix.message({ type:"error", text:"Longitud incorrecta del RFC" });
|
|
return false
|
|
}
|
|
if (tipo_persona < 3 && (rfc == RFC_PUBLICO || rfc == RFC_EXTRANJERO)){
|
|
webix.message({ type:"error", text:"RFC incorrecto" });
|
|
return false
|
|
}
|
|
|
|
var part = rfc.slice(0, start);
|
|
var re = new RegExp('[a-z&Ñ]{' + start + '}', 'i');
|
|
if (!part.match(re)){
|
|
webix.message({ type:"error", text: "El RFC tiene caractéres inválidos al inicio" });
|
|
return false
|
|
}
|
|
part = rfc.slice(-3);
|
|
re = new RegExp('[a-z0-9]{3}', 'i');
|
|
if (!part.match(re)){
|
|
webix.message({ type:"error", text: "El RFC tiene caractéres inválidos al final" });
|
|
return false
|
|
}
|
|
|
|
part = rfc.slice(-9, -3);
|
|
re = new RegExp('[0-9]{6}', 'i');
|
|
if (!part.match(re)){
|
|
webix.message({ type:"error", text: "Fecha inválida" });
|
|
return false
|
|
}
|
|
var month = parseInt(part.slice(-4, -2))
|
|
if (month == 0 || month > 12 ){
|
|
webix.message({ type:"error", text: "Fecha inválida" });
|
|
return false
|
|
}
|
|
var day = parseInt(part.slice(-2))
|
|
if (day == 0 || day > 31 ){
|
|
webix.message({ type:"error", text: "Fecha inválida" });
|
|
return false
|
|
}
|
|
|
|
return true
|
|
};
|