我有现场生日:
/**
* @ORM\Column(type="date", nullable=true)
*/
protected $birthday;
和表格:
->add('birthday', null, array('widget' => 'single_text', 'format' => 'dd-MM-yyyy'))
如果值不正确,如何更改此消息?
我尝试实体:
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('birthday', new Assert\Date(array('message' => 'test')));
}
但是没有使用这个验证器...... 那么验证器在哪里呢?
答案 0 :(得分:0)
好像是DateValidator::validate
问题:
在进行任何验证之前,该方法包含以下检查:
if (null === $value || '' === $value || $value instanceof \DateTime) {
return;
}
使用single_text
选项时,$ value参数的类型为\ DateTime事件。
可能的解决方法是在表单级别更改错误消息:
$form->add('fieldName', 'date', [
'widget' => 'single_text',
'format' => 'dd-MM-yyyy',
'invalid_message' => 'your message'
])
希望这有帮助。