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).