php zend-framework2 zend-inputfilter

php - ZF2: Prioridad para Validadores en InputFilter



zend-framework2 zend-inputfilter (1)

Utilice la clave ''break_chain_on_failure'' en su especificador de validador con un valor de verdadero, es decir,

$this->add(array( ''name'' => ''email'', ''required'' => true, ''filter'' => array( ''name'' => ''StripTags'', ), ''validators'' => array( array( ''name'' => ''NotEmpty'', ''break_chain_on_failure'' => true, ''options'' => array( ''messages'' => array( /Zend/Validator/NotEmpty::IS_EMPTY => ''Veuillez renseigner une adresse e-mail.'', ), ), ), array( ''name'' => ''StringLength'', ''break_chain_on_failure'' => true, ''options'' => array( ''encoding'' => ''UTF-8'', ''min'' => 1, ''max'' => 100, ), ), array( ''name'' => ''EmailAddress'', ''options'' => array( ), ), ), ));

Tengo un validador en una entrada de formulario como esta:

$this->add(array( ''name'' => ''email'', ''required'' => true, ''filter'' => array( ''name'' => ''StripTags'', ), ''validators'' => array( array( ''name'' => ''NotEmpty'', ''options'' => array( ''messages'' => array( /Zend/Validator/NotEmpty::IS_EMPTY => ''Veuillez renseigner une adresse e-mail.'', ), ), ), array( ''name'' => ''StringLength'', ''options'' => array( ''encoding'' => ''UTF-8'', ''min'' => 1, ''max'' => 100, ), ), array( ''name'' => ''EmailAddress'', ''options'' => array( ), ), ), ));

Básicamente hay 3 validadores en mi entrada. The NotEmpty , StringLength y EmailAdress .

¿Hay alguna manera de establecer un tipo de prioridad entre ellos? En este momento, si envío un formulario vacío, recibo mensajes relativos a esos 3 validadores, es decir. :

  • Mi entrada esta vacia
  • La longitud de mi cuerda es demasiado corta (gracias ...)
  • Mi opinión no es un correo electrónico (gracias de nuevo ...)

¿Hay alguna forma de decirle a mi validador que se detenga en la primera falla? (o al menos para imprimir solo el primer mensaje).