[英]How to create custom form date validation error messages in Symfony 4
使用Symfony 4,我有一个带有日期字段的表单。 Safari(MacOS)和IE不支持HTML5日期选择器。 当用户提交日期(不使用日期选择器)时,我希望错误消息显示为“请格式化日期yyyy-mm-dd”,而不是默认的“此值无效”。
这是我的表单类:
class MyType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('date', DateType::class, [
'widget' => 'single_text',
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => MyEntity::class,
]);
}
}
这是我的实体类:
class MyEntity
{
/**
* @Assert\NotBlank()
* @Assert\Date()
*/
private $date;
public function getDate()
{
return $this->date;
}
public function setDate($date)
{
$this->date = $date;
}
}
我试过了:
/**
* @Assert\NotBlank()
* @Assert\Date(
* message="Please format your date yyyy-mm-dd."
* )
*/
private $date;
我可以自定义TextType表单字段的错误消息,但找不到DateType的任何示例。 任何帮助,将不胜感激。 谢谢。
我认为您只需按照文档中所述在字段上设置invalid_message
参数即可
invalid_message
类型:字符串默认值:此值无效
如果在此字段中输入的数据没有意义(即验证失败),则使用此验证错误消息。
就像
$builder
->add('date', DateType::class, [
'widget' => 'single_text',
'invalid_message' => 'Please format your date yyyy-mm-dd'
])
;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.