【发布时间】:2012-01-30 13:55:35
【问题描述】:
我有一个表单,其中的字段是一个集合,这个集合必须有固定数量的元素。我如何验证这一点?
【问题讨论】:
标签: validation symfony
我有一个表单,其中的字段是一个集合,这个集合必须有固定数量的元素。我如何验证这一点?
【问题讨论】:
标签: validation symfony
为拥有该集合的实体编写自定义回调验证器。
例如,如果您有一个 Cart 实体和一个 Products 集合,您应该这样做:
...............
use Symfony\Component\Validator\Constraints as Assert;
...............
* @Assert\Callback(
* methods={"hasCorrectNumberOfProducts"}
* )
class Cart
{
...........
public function hasCorrectNumberOfProducts(ExecutionContext $context)
{
$propertyPath = $context->getPropertyPath();
$correct = 666;
if(!count($this->getProducts()) == $correct) {
$context->setPropertyPath($propertyPath . '.products');
$context->addViolation('Incorrect number of products!', array(), null);
}
}
......
【讨论】: