@@ -753,13 +753,13 @@ private function validateDateTime(array $answers, string $format, ?string $text
753753
754754 if ($ extraSettings ) {
755755 $ dateMin = isset ($ extraSettings ['dateMin ' ])
756- ? (is_int ($ extraSettings ['dateMin ' ])
757- ? (new DateTime ())->setTimestamp ($ extraSettings ['dateMin ' ])->setTime (0 , 0 , 0 )
756+ ? (is_numeric ($ extraSettings ['dateMin ' ])
757+ ? (new DateTime ())->setTimestamp (( int ) $ extraSettings ['dateMin ' ])->setTime (0 , 0 , 0 )
758758 : DateTime::createFromFormat ('! ' . $ format , $ extraSettings ['dateMin ' ]))
759759 : null ;
760760 $ dateMax = isset ($ extraSettings ['dateMax ' ])
761- ? (is_int ($ extraSettings ['dateMax ' ])
762- ? (new DateTime ())->setTimestamp ($ extraSettings ['dateMax ' ])->setTime (0 , 0 , 0 )
761+ ? (is_numeric ($ extraSettings ['dateMax ' ])
762+ ? (new DateTime ())->setTimestamp (( int ) $ extraSettings ['dateMax ' ])->setTime (0 , 0 , 0 )
763763 : DateTime::createFromFormat ('! ' . $ format , $ extraSettings ['dateMax ' ]))
764764 : null ;
765765 $ timeMin = isset ($ extraSettings ['timeMin ' ])
@@ -773,10 +773,10 @@ private function validateDateTime(array $answers, string $format, ?string $text
773773 ? (DateTime::createFromFormat ('! ' . $ format , $ dateStr ) ?: $ d )
774774 : $ d ;
775775
776- if (($ dateMin !== null && $ compareDate < $ dateMin )
777- || ($ dateMax !== null && $ compareDate > $ dateMax )
778- || ($ timeMin !== null && $ d < $ timeMin )
779- || ($ timeMax !== null && $ d > $ timeMax )
776+ if (($ dateMin instanceof \DateTimeInterface && $ compareDate < $ dateMin )
777+ || ($ dateMax instanceof \DateTimeInterface && $ compareDate > $ dateMax )
778+ || ($ timeMin instanceof \DateTimeInterface && $ d < $ timeMin )
779+ || ($ timeMax instanceof \DateTimeInterface && $ d > $ timeMax )
780780 ) {
781781 throw new \InvalidArgumentException (sprintf ('Date/time is not in the allowed range for question "%s". ' , $ text ));
782782 }
0 commit comments