A free and open-source book on ZF3 for beginners

Translation into this language is not yet finished. You can help this project by translating the chapters and contributing your changes.

9.3. Validator Behaviour in Case of Invalid or Unacceptable Data

Si pasamos a un validador algún dato que no pasa la revisión, el validador crea internamente una lista de mensajes de error que se pueden recuperar con el método getMessages(). Por ejemplo, veamos abajo los posibles errores que el validador EmailAdrress regresa si le pasamos el valor «abc@ewr» (el carácter barra invertida, «\», indica una nueva línea donde el código no se ajusta a la página):

array(3) {
  ["emailAddressInvalidHostname"] =>
    string(51) "'ewr' is not a valid hostname for the email address"
  ["hostnameInvalidHostname"] =>
    string(66) "The input does not match the expected structure for a DNS hostname"
  ["hostnameLocalNameNotAllowed"] =>
    string(84) "The input appears to be a local network name but local network names are not allowed"
}

El método validador getMessages() regresará un arreglo de mensajes que explican el porqué la validación fallo. Las llaves del arreglo son identificadores de mensajes de fallas y los valores del arreglo se corresponden con mensajes en forma de cadenas de caracteres legibles por humanos.

Si el método isValid() nunca se llamo o si la llamada más reciente al método isValid() regresó true, el método getMessages() regresa un arreglo vacío. Además, cuando llamamos varias veces al método isValid() los mensajes de validación anteriores se borran así que veremos solo los errores de validación de la última llamada.

Algunos validadores pueden trabajar solamente con datos de entrada en determinado formato (por ejemplo, un validador puede necesitar que los datos de entrada sean cadenas de caracteres y no un arreglo). Si pasamos datos en un formato inaceptable el validador puede lanzar una excepción Zend\Validator\Exception\RuntimeException o producir una advertencia de PHP

Se recomienda revisar la documentación del validador que vamos a usar para asegurarnos de su comportamiento en caso de datos inaceptables.


Top