我使用Silex和Form和Validator提供程序。Silex/Symfony表單驗證器:確保一個值是唯一的
我有一個非常簡單的登記表格:
- 用戶名
- 密碼
- 密碼
的用戶名必須是唯一的確認,如何檢查?
這是我的代碼:
$form = $app['form.factory']->createBuilder('form')
->add('username', 'text', array(
'constraints' => array(
new Assert\NotBlank(),
new Assert\Length(array('min' => 6, 'max' => 20)))
))
->add('password', 'repeated', array(
'constraints' => array(
new Assert\NotBlank(),
new Assert\Length(array('min' => 6, 'max' => 20))
)
))
->getForm();
隨着Symfony的,我知道有是UniqueEntity約束,但它與學說,我只使用Doctrine DBAL(Silex的提供商)
我想我可以使用回調約束,但我想知道是否有比使用SQL查詢寫回調更好的解決方案...或寫我自己的約束對象
謝謝
[使用Symfony驗證程序驗證匹配和唯一性]的可能重複(http://stackoverflow.com/questions/12641897/validating-match-and-unique-using-symfony-validator) – Maerlyn
不是重複的,我要求「最佳」方式來實現我的目標:「在字段上添加約束以檢查值是否唯一」。我在我的問題中提到了兩種方法:創建自己的約束或使用回調。哪一個是最好的 ?有其他方法嗎? –