Symfony验证:第一个属性约束然后是类约束

时间:2014-11-14 12:47:53

标签: validation symfony constraints

我使用的是Symfony 2.5,我的Model类如下:

/**
 * @UserAssert\UserPasswordReset
*/
class ResetPassword {

/**
 * @var string
 * @Assert\NotBlank()
 */
public $username;

/**
 * @var string
 * @Assert\NotBlank()
 * @Assert\Date
 */
public $birthday;

/**
 * @var string
 * @Assert\NotBlank()
 */
public $plainSecurityAnswer;


function __toString()
{
    return $this->username . $this->birthday->format('Y-m-d H:i:s') . $this->plainSecurityAnswer;
}

}

此模型映射到ResetFormType。 现在我的意图:我怎么说/配置,我首先想要传递属性约束。如果传递了所有属性约束(例如,没有字段为空),我希望调用@UserAssert \ UserPasswordReset。

目前,它始终验证属性和类约束。

问候++

1 个答案:

答案 0 :(得分:2)

我认为你可以使用GroupSequence Validator这样做:

/**
 * @UserAssert\UserPasswordReset(groups={"PasswordReset"})
 * @Assert\GroupSequence({"Default", "PasswordReset"})
 */
class ResetPassword
{
    //----
}

在此模式下,UserPasswordReset仅在默认值断言后验证。

在文档中,您将找到一些使用组序列的实现示例。