[英]Symfony2: $form->isValid() is always true
我在Symfony2中進行表單驗證時遇到問題:
class CompanyType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options){
$builder
->add('name', 'text',array("label"=> "Nazwa",'max_length' => 255, 'required'=>true))
->add('url', 'url',array("label"=> "Adres strony",'max_length' => 255, 'required'=>true))
->add('logo', 'file',array("label"=> "Logo",'max_length' => 255))
->add('Dodaj', 'submit');
}
public function setDefaultOptions(OptionsResolverInterface $resolver){
$resolver->setDefaults(array(
'data_class' => 'Diliges\DiligesBundle\Entity\Company',
'error_bubbling' => true
));
}
}
public function addAction(Request $request){
$company = new Company();
$form = $this->createForm(new CompanyType(), $company);
$form->handleRequest($request);
if ($form->isValid()) {
try{
$company->setActive(false);
return $this->redirect($this->generateUrl('add_company_thx'));
}catch(PDOException $e){
}
}
...
properties:
name:
- NotBlank: ~
- MinLength: 3
url:
- NotBlank: ~
我一直在嘗試,並且仍然嘗試$ form-> isValid()返回true。 即使我提交空白表格。
您必須在錯誤的位置進行驗證配置。 查看文檔,了解yml配置的放置位置。 驗證基礎
他們將配置文件放在src/Acme/BlogBundle/Resources/config/validation.yml
。 另外,您的配置格式不正確。 您缺少實體定義。
Diliges\DiligesBundle\Entity\Company:
properties:
name:
- NotBlank: ~
- MinLength: 3
url:
- NotBlank: ~
可能使此方法不起作用的另一個選項是,如果您啟用了另一種類型的驗證(如注釋)。 確保已啟用yml
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.