Errores de Validación
Los errores de un formulario vienen directamente del modelo mediante la utilizacion de validate(). Estas funciones te serán útiles para el manejo de errores
Modelo->validate([data],[config])
Esta función toma el data que se le envie por parámetro, o en el mas común de los casos genera el data a partir del arreglo $_POST si no se le pasa el parámetro, valida campo por campo según las reglas propias de cada cual y genera los errores correspondientes. Retorna un data modificado según los errores que se hayan detectado. También modifica la cache del modelo de forma que se puede invocar a un $vista->createForm() sin pasar ningún parámetro y utilizará el data cacheado que generó el validate
Modelo->hasErrors(data)
Esta funcion verifica que los campos en data, que vienen de un Modelo->validate(), no tengan errores.
Retorna "true" si tiene errores, en caso contrario retorna "false".
Vista->throwError(&data, campo, cod_error)
Esta lanza un error sobre el campo campo en data con el idioma numero cod_error.
En este ejemplo se ve la utilizacion de las funciones:
$data = $modelo->validate();
//Error personalizado: Este es un error que el validate no detecta puesto que no es un error propio de ningún tipo de dato que se haya declarado.
//Por ello, hacemos el checkeo nosotros y de encontrar el error lo reportamos con throwError
if( chequearUserRepetido() )
{
$vista->throwError($data,"Usuario",101); //el idioma 101 equivale a "Nombre de usuario ya existente."
}
if( !$modelo->hasErrors($data) )
{
$vista->setVar("mensaje","Usuario registrado con éxito!");
}
else
{
$vista->setVar("mensaje","Intente nuevamente");
}