Doctrine 实体在其成员字段上指定了独立于表单的验证元数据。Symfony2 的表单系统以某种方式使用实体提供的验证器。
这是如何运作的?是什么将这一切联系在一起?
我有一个非教义模型,我想在没有表单的情况下进行验证,但是当我使用表单时,他们应该使用该验证信息并正确显示它。所以我需要:
- 在非教义对象上定义验证器
- 定义没有注释的验证器
- 允许模型在没有表单的情况下验证自己
- 允许表单在非教义对象上使用验证器
Doctrine 实体在其成员字段上指定了独立于表单的验证元数据。Symfony2 的表单系统以某种方式使用实体提供的验证器。
这是如何运作的?是什么将这一切联系在一起?
我有一个非教义模型,我想在没有表单的情况下进行验证,但是当我使用表单时,他们应该使用该验证信息并正确显示它。所以我需要:
不确定它是否能处理您的情况(因为没有提供非教义实体的代码),但您可以对值和值数组使用 symfony 验证约束:
作为验证数组中几个日期值的示例:
private function isInvalid($data)
{
$response = array();
$constraint = new Collection(array(
'from'=>new Date(),
'to'=>new Date(),
));
$validationList = $this->get('validator')->validateValue($data, $constraint);
if(count($validationList)>0) {
foreach($validationList as $err) {
array_push($data,array(
'field'=>$err->getPropertyPath(),
'message'=>$err->getMessage(),
));
}
return $response;
}
return false;
}