[英]How to add the input username in fosCommentBundle without fosUser?
[英]Validation of fosuser field username
我想驗證用戶名字段,該字段是fosuser字段,但要遵循我自己的驗證規則。
以下是我的代碼段:
FormType-UserType.php
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('username')
...
}
實體-User.php
class User extends BaseUser
{
//no mention of any of the fosuser properties here
...
}
驗證:validation.yml
Project\MyBundle\Entity\User:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
fields: username
errorPath: username
message: 'This username is already in use.'
properties:
dob:
- NotBlank: ~
- Type: \DateTime
控制器:UserController.php
public function createAction(Request $request, $brandId)
{
$entity = new User();
$form = $this->createCreateForm($entity, $brandId);
$form->handleRequest($request);
if ($form->isValid()) {
...
}
}
驗證總是失敗,即。 $ form-> isValid()為true,即使我在表單中輸入了已經存在的用戶名也是如此。 請提供幫助,因為到目前為止我還沒有找到解決方案。 我嘗試將orm.xml文件復制到驗證文件夾下的myBundle。 但這仍然無效。 任何幫助將不勝感激。
當保存發生時,我也會得到重復的插入錯誤。
An exception occurred while executing 'UPDATE user SET username = ?, username_canonical = ? WHERE id = ?' with params ["sub5", "sub5", 27]:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'sub5' for key 'UNIQ_7BB0CD5292FC23A8'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.