Symfony2日期验证失败

时间:2014-02-03 16:28:53

标签: date symfony validation

我的表单类型如下:

/**
 * {@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,在添加表单字段时,我可以使用birthdate1974-05-06成功请求此终结点,但我希望能够发送更多只有1种格式:

  • 日期时间对象
  • 时间戳
  • YYYY-MM-DD
  • 阵列

1 个答案:

答案 0 :(得分:0)

更新2 如果我使用widget =>文本,我可以按预期发送三个子表单字段。但我不能将这些值作为字符串发送。

然而......我会关闭它。