Validaciones en función de dos campos
Para la configuración de las validaciones en cualquier de los campos de nuestro formulario, tan solo tendremos que escribir el código apropiado en la pestaña de validación.
Otro caso que nos puede suceder es que la configuración de la validación no dependa solamente del propio campo, si no también del valor ubicado en otro campo distinto dentro del mismo formulario. En ese caso debemos contemplar también la posibilidad de que ese otro campo pueda cambiar su valor, y por tanto, asegurarnos que se aplica correctamente la validación inicial.
Vamos a ver a continuación cómo modelar y actualizar validaciones que dependan de varios campos, a la vez que se sigan cumpliendo si cambia el valor de cualquiera de ellos.
En nuestro ejemplo contaremos con dos campos "campoA" y "campoB". En este caso El valor del campo B no puede ser mayor que el valor del campo A,
Paso 1
En la validación del campo B colocaremos el siguiente código
// Configuración de validación campos A y B
var campoA = parseFloat(wf.obtenerValor("idcampo_A"));
var campoB = parseFloat(wf.obtenerValor("idcampo_B"));
if (campoB > campoA) {
wf.anadirError(this, "El valor del campo B no puede ser superior al valor del campo A");
}
Paso 2
En el evento "change" del campo A, colocaremos el siguiente código
// Control en la configuración de validación de los campos A y B
webforms.Validation.applyFormValidations([{id: "idcampo_B"}]);
En caso de que los campos se encuentren en una tabla, deberemos colocar el siguiente código en su lugar:
// Control en la configuración de validación de los campos A y B
webforms.Validation.applyModalFormValidations([{id: "idcampo_B"}], $('#' + webforms.Helpers.getModalId('idTabla')));
Descarga ejemplo
Tienes disponible el código json del ejemplo para su descarga y que puedas probarlo y adaptarlo a tus necesidades.