如何以 Symfony 2 形式验证日期时间格式 "yyyy-MM-ddTHH:mm:ss.sssZ"
How to validate datetime format "yyyy-MM-ddTHH:mm:ss.sssZ" in Symfony 2 form
你们知道如何在 Symfony 表单中验证 "yyyy-MM-ddTHH:mm:ss.sssZ" (ISO 8601) 格式的日期时间吗?
我的表单类型:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('Name', 'text')
->add('Summary', 'textarea')
->add('Objective', 'text')
->add('Target_Date', 'date', array(
'widget' => 'single_text',
'input' => 'datetime',
'format' => 'yyyy-MM-ddTHH:mm:ss.sssZ',
))
->add('Type', 'text')
->add('Members', 'text', array('mapped'=>false));
}
POST 从 AngluarJS 到 Symfony api
Target_Date:“2015-04-01T22:00:48.131Z”
但我得到:Target_Date:此值无效。
谢谢!
我找到了解决方案。我刚刚将 'date' 更改为 'datetime',将 'yyyy-MM-ddTHH:mm:ss.sssZ' 更改为 "yyyy-MM-dd'T'HH:mm:ss.SSS"。见下文:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('Name', 'text')
->add('Summary', 'textarea')
->add('Objective', 'text')
->add('Target_Date', 'datetime', array(
'widget' => 'single_text',
'input' => 'datetime',
'format' => "yyyy-MM-dd'T'HH:mm:ss.SSS",
))
->add('Type', 'text')
->add('Members', 'text', array('mapped'=>false));
}
感谢大家的帮助!!
你们知道如何在 Symfony 表单中验证 "yyyy-MM-ddTHH:mm:ss.sssZ" (ISO 8601) 格式的日期时间吗?
我的表单类型:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('Name', 'text')
->add('Summary', 'textarea')
->add('Objective', 'text')
->add('Target_Date', 'date', array(
'widget' => 'single_text',
'input' => 'datetime',
'format' => 'yyyy-MM-ddTHH:mm:ss.sssZ',
))
->add('Type', 'text')
->add('Members', 'text', array('mapped'=>false));
}
POST 从 AngluarJS 到 Symfony api
Target_Date:“2015-04-01T22:00:48.131Z”
但我得到:Target_Date:此值无效。
谢谢!
我找到了解决方案。我刚刚将 'date' 更改为 'datetime',将 'yyyy-MM-ddTHH:mm:ss.sssZ' 更改为 "yyyy-MM-dd'T'HH:mm:ss.SSS"。见下文:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('Name', 'text')
->add('Summary', 'textarea')
->add('Objective', 'text')
->add('Target_Date', 'datetime', array(
'widget' => 'single_text',
'input' => 'datetime',
'format' => "yyyy-MM-dd'T'HH:mm:ss.SSS",
))
->add('Type', 'text')
->add('Members', 'text', array('mapped'=>false));
}
感谢大家的帮助!!