2017-04-18 9 views
0

私はSymfonyとFOS RestバンドルでREST APIを開発しています。私のエンティティの1つに日付フィールドがあります。私もbehatでテストをしています、私の問題は、私は常にDatetimeフィールドの検証のために400のエラーを取得するこのアクションのポストアクションをテストしようとするときです。 は、ここでフィールド定義です:SymfonyフォームのDatetimeType:POST要求を手動で送信することの検証エラー

  ->add(
       'scheduledAt', DateTimeType::class, [ 
       'label' => 'fields.scheduled_at', 
       'required' => false, 
       'format' => 'Y-m-d h:i' 
      ]) 

そしてここbehatテストです:

When I send a POST request to "/api/cases/1/actions" with body: 
     """ 
     { 
      "comments": "Comments 3", 
      "action": 1, 
      "scheduledAt": "2017-01-01 17:00:00" 
     } 
     """ 

これは、常にこの400応答

{ 
"code":400, 
"message":"Validation Failed", 
"errors":{"children":{"comments":[],"scheduledAt":{"errors":["This value is not valid."],"children":{"date":{"children":{"year":[],"month":[],"day":[]}},"time":{"children":{"hour":[],"minute":[]}}}},"action":[]}}} 
+0

'single_text'です。 http://symfony.com/doc/current/reference/forms/types/datetime.html#widget –

+0

私は同じ結果を出しました。@PigBall – petekaner

+0

私たちと共有してください。 –

答えて

1

で終了したい場合は、'format' => 'Y-m-d h:i:s'にフォーマットを変更してください。リクエストを渡すか、POSTの日付を秒単位で送信します。

+0

私はそれを行い、 'widget' => 'single_text'オプションを追加しましたが、同じ結果を追加します。日付の形式はこのように正しいですか? 'Y-m-d h:私は「2017-01-01 17:00」を送ります – petekaner

0

私は、問題は、それが日付形式でだ、このようにする必要がありますが見つかりました:あなたのwidget`は `、オプションをこのフィールドをしなければならない追加するとき` scheduledAt`は、単一のテキストであるためにデータを提出した場合

'format' => 'yyyy-MM-dd HH:mm' 
関連する問題