@@ -141,40 +141,40 @@ export default Base.extend({
141141 let not_before ;
142142 let not_after_el ;
143143 let not_before_el ;
144+
145+ if ( ! utils . is_iso_date_time ( input . value , true ) ) {
146+ // Not a valid date at all, return.
147+ return ;
148+ }
144149 const date = new Date ( input . value ) ;
145150 if ( isNaN ( date ) ) {
151+ // Not a valid date, return.
146152 // Should not happen or input only partially typed in.
147153 return ;
148154 }
149155 if ( input_options . not . after ) {
150- // Handle value as date.
151- not_after = new Date ( input_options . not . after ) ;
152- if ( isNaN ( not_after ) ) {
156+ if ( utils . is_iso_date_time ( input_options . not . after , true ) ) {
157+ not_after = new Date ( input_options . not . after ) ;
158+ } else {
153159 // Handle value as selector
154160 not_after_el = document . querySelector ( input_options . not . after ) ;
155- not_after = not_after_el ?. value ;
156- not_after =
157- not_after &&
158- new Date (
159- document . querySelector ( input_options . not . after ) . value
160- ) ;
161+ not_after = not_after_el ?. value
162+ ? new Date ( not_after_el ?. value )
163+ : undefined ;
161164 }
162165
163166 // Use null if no valid date.
164167 not_after = isNaN ( not_after ) ? null : not_after ;
165168 }
166169 if ( input_options . not . before ) {
167- // Handle value as date.
168- not_before = new Date ( input_options . not . before ) ;
169- if ( isNaN ( not_before ) ) {
170+ if ( utils . is_iso_date_time ( input_options . not . before , true ) ) {
171+ not_before = new Date ( input_options . not . before ) ;
172+ } else {
170173 // Handle value as selector
171174 not_before_el = document . querySelector ( input_options . not . before ) ;
172- not_before = not_before_el ?. value ;
173- not_before =
174- not_before &&
175- new Date (
176- document . querySelector ( input_options . not . before ) . value
177- ) ;
175+ not_before = not_before_el ?. value
176+ ? new Date ( not_before_el ?. value )
177+ : undefined ;
178178 }
179179
180180 // Use null if no valid date.
0 commit comments