NAME

Workflow::Validator::MatchesDateFormat - Ensure a stringified date matches a given pattern

VERSION

This documentation describes version 1.62 of this package

SYNOPSIS

 <action name="CreateNews">
   <validator name="DateFormat">
      <param name="date_format" value="%Y-%m-%d"/>
      <arg value="$news_post_date"/>
   </validator>
 </action>

DESCRIPTION

This validator ensures that a given date string matches a strptime pattern. The parameter 'date_format' is used to declare the pattern against which the date string must be matched, and the single argument is the date to match.

The 'date_format' pattern is a typical strptime pattern. See DateTime::Format::Strptime for details.

NOTE: If you pass an empty string (or no string) to this validator it will not throw an error. Why? If you want a value to be defined it is more appropriate to use the 'is_required' attribute of the input field to ensure it has a value.

Also, if you pass a DateTime object to the validator it will not determine whether the date is correct or within a range. As far as it is concerned its job is done.

METHODS

_init

This method initializes the class and the enumerated class.

It uses "add_enumerated_values" to add the set of values for enumeration.

The primary parameter is value, which should be used to specify the either a single value or a reference to array of values to be added.

validate

The validator method is the public API. It works with Workflow.

Based on the initialized Workflow::Validator it validates a provided parameter, which should adhere to a predefined date format.

EXCEPTIONS

  • You must define a value for 'date_format' in declaration of validator <name>

  • The value for 'date_format' must be a simple scalar in declaration of validator <name>

  • Date '<date_string>' does not match required pattern <pattern>

SEE ALSO

Workflow
Workflow::Validator
Workflow::Exception
DateTime

COPYRIGHT

Copyright (c) 2003-2023 Chris Winters. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Please see the LICENSE

AUTHORS

Please see Workflow