Validación del RUT Chileno mediante un custom script, en el ejemplo el DocType: Tu_Doctype y el campo RUT en uid
//Validación RUT
frappe.ui.form.on("Tu_DocType", {
validate: function(frm){
var Fn = {
validaRut : function (rutCompleto) {
rutCompleto = frm.doc.uid.replace("‐","-");
if (!/^[0-9]+[-|‐]{1}[0-9kK]{1}$/.test( rutCompleto ))
return false;
var tmp = rutCompleto.split('-');
var digv = tmp[1];
var rut = tmp[0];
if ( digv == 'K' ) digv = 'k' ;
return (Fn.dv(rut) == digv );
},
dv : function(T){
var M=0,S=1;
for(;T;T=Math.floor(T/10))
S=(S+T%10*(9-M++%6))%11;
return S?S-1:'k';
}
}
if(frm.doc.uid){
if (Fn.validaRut(frm.doc.uid)){
return true
validated = true
}else{
validated = false;
msgprint('El RUT ingresado no es válido');
}
}
}
});