C'è una vera differenza tra il comportamento o l'output di questi 2. Mi sembrano come se facessero la stessa cosa.Form Zend setRequired (true) o addValidator (NotEmpty)
->addValidator('NotEmpty')
->setRequired(true)
C'è una vera differenza tra il comportamento o l'output di questi 2. Mi sembrano come se facessero la stessa cosa.Form Zend setRequired (true) o addValidator (NotEmpty)
->addValidator('NotEmpty')
->setRequired(true)
Sì, c'è una differenza. Se un elemento non è richiesto, verrà convalidato anche se l'intero valore non è presente nei dati con i quali si convalidano. Il valore è validato solo contro i validatori registrati dopo che è stato determinato che esiste. Il validatore NotEmpty
fallirà solo se il campo è presente, ma è vuoto.
Inoltre, non è necessario aggiungere manualmente il validatore NotEmpty, per impostazione predefinita Zend inserisce automaticamente il validatore NotEmpty per gli elementi, se richiesto. Quindi fare in modo efficace ->setRequired(true)
equivale a fare ->setRequired(true)->addValidator('NotEmpty')
. È possibile disattivare questo comportamento con ->setAutoInsertNotEmptyValidator(false)
.
* (fonte) * http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Form/Element.php – Gordon