仅在Symfony2中验证单个表单字段

时间:2011-12-06 14:30:43

标签: validation symfony

我正在寻找一种方法来根据特定实体的注释中指定的约束来验证单个字段(对象属性)。

目标是在表单字段的“onBlur”事件之后发送一个AJAX请求,要求服务器仅验证此单个字段,并且 - 根据响应 - 在此字段旁边添加一个小的“OK”图像或错误信息。

我不想验证整个实体。

我想知道这个问题的最佳方法是什么?感谢您的任何提示。

2 个答案:

答案 0 :(得分:18)

Validator类具有validateProperty方法。您可以像这样使用它:

$violations = $this->get('validator')->validateProperty($entity, 'propertyName');
if (count($violations)) {
    // the property value is not valid
}

或者,如果未在实体中设置该值,则可以使用validatePropertyValue方法:

$violations = $this->get('validator')->validatePropertyValue($entity, 'propertyName', $propertyValue);
if (count($violations)) {
    // the property value is not valid
}

答案 1 :(得分:5)

看看validation groups。我想这就是你需要的。您可以添加组“ajax”或只添加一个约束。然后告诉验证者使用该组。 symfony2文档中包含一个示例。