我正在尝试在我的symfony项目中使用MinLength验证器。
以下是我使用它的方式:
use Symfony\Component\Validator\Constraints\MinLength;
class RegisterNewUser
{
protected $password;
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
if( isset( $metadata->properties["password"] ) )
unset($metadata->properties["password"]);
$password_blank = new NotBlank();
$password_min = new MinLength(5);
$password_blank->message = "The password should not be blank";
$password_min->message = "The password is too short. It should have {{ limit }} characters or more";
$metadata->addPropertyConstraint('password', $password_blank);
$metadata->addPropertyConstraint('password', $password_min );
}
}
我得到的错误信息是:
FatalErrorException:错误:在......中找不到类'Symfony \ Component \ Validator \ Constraints \ MinLength'
答案 0 :(得分:10)
我找到了解决方案:
来自Symfony文档:
自版本2.1起,MinLength约束已弃用,将在Symfony 2.3中删除。请使用长度和最小选项。
所以,解决方案是:
use Symfony\Component\Validator\Constraints\Length;
....
$password_min = new Length(array('min'=>5));
答案 1 :(得分:0)
长度也被弃用
php.INFO:不建议使用的用户:将“ Symfony \ Component \ Validator \ Constraints \ Length”约束与“ min”一起使用 不设置“ allowEmptyString”的选项不建议使用,默认为true。在5.0中,它将变为可选 并默认为false。