1
我有一個簡單的表單,我不使用實體類。即使使用空值/無效值,表格總是通過驗證
後我想驗證使用驗證器的值,但即使值爲空或無效,錯誤列表的計數始終爲零。
這裏是(或多或少),我執行的代碼:
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\MinLength;
use Symfony\Component\Validator\Constraints\Collection;
public function formAction(){
$collectionConstraint = new Collection(array(
'name' => array(new MinLength(5)),
'email' => array(new Email(array('message' => 'Invalid email address'))),
));
$options = array('validation_constraint' => $collectionConstraint);
$form = $this->createFormBuilder(null, $options)
->add('name', 'text', array('label' => '', 'attr' => array('placeholder' => 'Your name')))
->add('email', 'email', array('label' => '', 'attr' => array('placeholder' => 'E-mail')))
->getForm();
$request = $this->getRequest();
$error = false;
if ($request->getMethod() == 'POST') {
$form->bindRequest($request);
if ($form->isValid()) {
$data = $form->getData();
$errorList = $this->get('validator')->validateValue($data, $collectionConstraint);
// count($errorList) is always zero even when the values are empty or invalid…
}
else {
$error = true;
}
}
// ... snip ...
}
是的,我已經知道了,沒有錯誤。 我的問題是爲什麼它不按預期工作。 它應該引發錯誤,如果有一個無效的電子郵件或字段設置爲空,當提交它不是... 我之前提交這個問題的鏈接。 – cristobal