我的表单类型如下:
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('birthdate', 'date'));
}
我的验证员:
Foo\BarBundle\Model\User\Profile:
properties:
birthdate:
- NotNull:
message : label.null
- Date:
message: user.profile.birthdate.invalid
我的请求正文数据
PUT foo.dev/user/profile
{
"user_profile" : {
"sex" : 0,
"birthdate" : {
"year" : 1983,
"month" : 6,
"day" : 23
},
"height" : 180,
"weight" : 78,
"pal" : 1.2
}
}
这给了我一个400:
{
"code":400,
"message":"Validation Failed",
"errors":{
"children":{
"birthdate":{
"errors":[
"This value is not valid."
],
"children":{
"year":[],
"month":[],
"day":[]
}
},
}
}
同样的情况,如果我使用它:
PUT foo.dev/user/profile
{
"user_profile" : {
"sex" : 0,
"birthdate" : "2014-01-01",
"height" : 180,
"weight" : 78,
"pal" : 1.2
}
}
我做错了什么?请帮忙:'(
更新
如果我使用widget
=> single_text
,在添加表单字段时,我可以使用birthdate
:1974-05-06
成功请求此终结点,但我希望能够发送更多只有1种格式:
答案 0 :(得分:0)
更新2 如果我使用widget =>文本,我可以按预期发送三个子表单字段。但我不能将这些值作为字符串发送。
然而......我会关闭它。