2

私はコレクションフォームタイプを使用しています。ここで、子は日時タイプの入力を単一のテキストとして持っています。しかし、検証でデータを送信すると失敗し、getErrorsAsString に次の奇妙なエラーが表示されます。

inputDateTime:
        ERROR: This value is not valid.
        date:
            No errors
        time:
            No errors

これが私のフィールドを追加する方法です

//form child
$builder->add('inputDateTime', 'datetime', array(
    'date_widget' => 'single_text',
    'time_widget' => 'single_text'
));

inputDateTime にエラーがあるのに、日付にも時間にもエラーがないのはなぜですか? ロケールが設定されており、日付形式を追加しようとしましたが、役に立ちませんでした。

4

2 に答える 2

2

「date」フィールドと「time」フィールドの「error_bubbling」プロパティが に設定されているためtrue、これらのフィールドのエラーはバブルアップし、代わりに datetime フィールドにアタッチされます。

エラーメッセージがあまり役に立たないことは正しいです(そのためのオープンチケットがあります)が、DataTransformer(Form.php:611)によって生成されたをキャッチするブロック$exception内の変数を出力することで問題をデバッグできます。例外には詳細なエラーの説明が含まれていますが、セキュリティ上の目的でエンド ユーザーには表示されません。TransformationFailedException

于 2013-08-21T21:06:14.413 に答える