【发布时间】:2012-11-12 07:32:45
【问题描述】:
我需要在控制器动作中动态添加约束,所以我这样做:
use Doctrine\Bundle\MongoDBBundle\Validator\Constraints\Unique;
// ...
$form = $this->createFormBuilder($user)
->add('email', 'email', array(
'constraints' => array(
new NotBlank(),
new MinLength(8),
new MaxLength(100),
new Email(),
new Unique(),
),
))
->getForm();
但我收到此错误:
The options "fields" must be set for constraint Doctrine\Bundle\MongoDBBundle\Validator\Constraints\Unique
我尝试将 array('fields' => 'email') 和 array('fields' => array('email')) 传递给构造函数,但没有成功:Warning: get_class() expects parameter 1 to be object, string given in /home/www/dev/public/pixfeed/vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php line 63
那么我该如何使用这个类呢?
【问题讨论】:
-
你试过 new Unique(array('fields' => 'email')) 还是 new Unique(array('fields' => array('email'))) ?
-
@getme 两者。我更新了我的问题
标签: forms mongodb symfony validation symfony-2.1