私はvarをチェックするためにValidatorを使用しています。私のそれらの1つは、startDate
とendDate
を含むオブジェクトSeminarDate
です。私の考えは、Symfony Validatorで日付をチェックすることでした。しかし、それは動作しません。例として: "+ 0200StackOverflow" である有効な日付...コントローラ内のアクションのSymfony ValidatorはDateTimeを正しくチェックしません
一部
foreach($dataReq['date'] as $key_a => $a) {
$SeminarDate = new SeminarDate;
$SeminarDate->setStartDate(new \DateTime($a['startdate']));
$SeminarDate->setEndDate(new \DateTime($a['enddate']));
$SeminarDates[] = $SeminarDate;
$errors = $validator->validate($SeminarDate);
if(count($errors)>0){
$errorString = (string) $errors;
return new View($errorString);
}
}
検証YMLの一部:
seminarDate:
- Collection:
fields:
startDate:
- Required:
- NotBlank:
message: 'startdate is required.'
- DateTime: ~
endDate:
- Required:
- DateTime: ~
- NotBlank:
message: 'endDate ist required.'
例(コントローラに送信するJSONファイル):
"date" : [
{ "startdate": "+0200Stackoverflow",
"enddate" : "+0200Stackoverlfow"
}
],
もっと必要な場合は質問してください。 ありがとう
それは、入力パラメータを解釈する 'DateTime'クラスではありません。これは有効です: 'new DateTime( 'now');' http://php.net/manual/de/datetime.construct.php – JustOnUnderMillions
クリア....ありがとう.... –
'印刷日( 'Ymd H:is '、strtotime(' + 0200Stackoverflow '));#結果1970-01-01 01:0000'はここで何が起こるかです。 DateTimeから有効な日付を取得しますが、それはまったく有効ではありません。 – JustOnUnderMillions