$date( isset( $raw['min'] ) ? $raw['min'] : '' ), 'max' => $date( isset( $raw['max'] ) ? $raw['max'] : '' ), ); } /** {@inheritdoc} */ public function validate( $value, array $field ) { $d = \DateTime::createFromFormat( '!Y-m-d', (string) $value ); if ( ! $d || $d->format( 'Y-m-d' ) !== $value ) { return __( 'Enter a valid date.', 'fillaro' ); } if ( '' !== $field['min'] && $value < $field['min'] ) { /* translators: %s: earliest date. */ return sprintf( __( 'Pick %s or later.', 'fillaro' ), $field['min'] ); } if ( '' !== $field['max'] && $value > $field['max'] ) { /* translators: %s: latest date. */ return sprintf( __( 'Pick %s or earlier.', 'fillaro' ), $field['max'] ); } return ''; } /** {@inheritdoc} */ protected function extra_attrs( array $field ) { return array( 'min' => $field['min'], 'max' => $field['max'], 'placeholder' => false, ); } }