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");
}