validaciones en mod_form

Re: validaciones en mod_form

de I. S. -
Número de respuestas: 0

Hola Pedro,

no sé si ya lo habrás resuelto pero te comento como hago yo las validaciones en los formularios de Moodle.

Por ejemplo tengo un campo de email declarado de la siguiente manera:

 

// Correo electrónico
$mform->addElement('text', 'email', get_string('email'), 'maxlength="100" size="25"');
$mform->setType('email', PARAM_NOTAGS);
$mform->addRule('email', get_string('missingemail'), 'required', null, 'server');

 

Dentro del método validation llamo a la función que me valida si el email es válido o no y me saca el mensaje en cuestión:

 

function validation($data, $files) {
global $CFG, $DB;
$errors = parent::validation($data, $files);

if (! validate_email($data['email']))
{
$errors['email'] = get_string('invalidemail');
}
return $errors;
}
}

 

Y la función validate_email puede estar en la misma clase o en otra, es ahí donde controlas si los valores que recibe son válidos o no.

Un saludo.