Czy istnieje jakaś różnica między zachowaniem lub wyjściem tych 2. Wyglądają one tak, jakby robią to samo.Zend formularz setRequired (prawda) lub addValidator (NotEmpty)
->addValidator('NotEmpty')
->setRequired(true)
Czy istnieje jakaś różnica między zachowaniem lub wyjściem tych 2. Wyglądają one tak, jakby robią to samo.Zend formularz setRequired (prawda) lub addValidator (NotEmpty)
->addValidator('NotEmpty')
->setRequired(true)
Tak, jest różnica. Jeśli element nie jest wymagany, zostanie zweryfikowany, nawet jeśli brakuje wartości dla danych, których walidujesz. Wartość jest sprawdzana tylko względem zarejestrowanych walidatorów po stwierdzeniu, że istnieje. NotEmpty
sprawdzanie poprawności zakończy się niepowodzeniem, jeśli pole jest obecne, ale jest puste.
Nie trzeba również dodawać walidatora NotEmpty samemu, domyślnie Zend auto wstawia weryfikator NotEmpty dla elementów, jeśli element jest wymagany. Skutecznie więc wykonanie ->setRequired(true)
jest takie samo jak wykonanie ->setRequired(true)->addValidator('NotEmpty')
. Możesz wyłączyć to zachowanie za pomocą ->setAutoInsertNotEmptyValidator(false)
.
* (źródło) * http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Form/Element.php – Gordon