0
我想添加一些驗證我的登記表,但我不能讓它的工作,到目前爲止,我還加了我的用戶實體無法獲得的Symfony驗證工作
片段。
class User {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $userid;
/**
* @ORM\Column(type="string", length=30)
*/
protected $username;
爲此我添加了一個validation.yml到我的包中。
# src/Blomster/UserBundle/Resources/config/validation.yml
Blomster/UserBundle/Entity/User:
properties:
username:
- NotBlank: ~
- MinLength: { limit: 3, message: "Username is too short." }
- MaxLength: { limit: 15, message: "Username is too long." }
使用$形式 - > isValid()的始終返回true,所以我想我的var_dump形式
'validation_groups' => null
'validation_constraint' => null
'constraints' =>
array (size=0)
...
本身是偉大的工作形式,它提交的時候添加到我的數據的基礎上,做我需要以某種方式將約束添加到表單中?
新增UserType.php
class UserType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('username', null, array('label' => 'Username'));
$builder->add('email', 'email', array('label' => 'Email'));
$builder->add('password', 'repeated', array(
'type' => 'password',
'required' => true,
'first_options' => array('label' => 'Password'),
'second_options' => array('label' => 'Repeat password'),
));
}
public function getDefaultOptions(array $options) {
return array('data_class' => 'Blomster\UserBundle\Entity\User');
}
public function getName() {
return 'user';
}
}
我已經添加了您的更正,但是,它仍然不會將約束添加到窗體。我已經更新了這個問題。 – MartinElvar
您是否清除了緩存? (常見錯誤,所以我嘗試!) –
當在dev env上運行時,這是否有必要?沒有工作的想法:/ – MartinElvar