Categoría
Algo que me pasó hace poco, es que necesitamos comparar dos elementos de un formulario, revisando un poco la versión 3 de Moodle, me di cuenta que si se colocaba el primer campo email1 y el segundo campo email2, Moodle por defecto detecta que se debe realizar una validación de comparación, pero me encontré el problema que la validación se realiza en el servidor( Cuando se envía el formulario ) y no se realiza en el cliente, pero afortunadamente encontré un tipo de validación que nos ayuda con este problema.
Para esto vamos a suponer que validaremos un teléfono, así quedaría el pedazo de código:
<?php
// Agregando campo teléfono a un formulario.
$mform->addElement('text', 'tel1', 'Teléfono', 'maxlength="100" size="25"');
$mform->setType('tel1', PARAM_INT);
$mform->addRule('tel1', 'Teléfono es requerido', 'required', null, 'client');
// Agregando campo confirmación de teléfono formulario.
$mform->addElement('text', 'tel2', 'Confirmación Teléfono', 'maxlength="100" size="25"');
$mform->setType('tel2',PARAM_INT);
$mform->addRule('tel2', 'Teléfono 2 es requerido', 'required', null, 'client');
// Regla de comparación de moodle.
$mform->addRule(array('tel2', 'tel'), 'Los teléfonos no son iguales', 'compare', null, 'client');
?>
Espero les sea útil este ejemplo.