Class: DateTimeValidator

sogv.DateTimeValidator

Validates that a value is a valid "datetime", meaning a string (or an object that can be cast into a string) that follows a specific format.

new sogv.DateTimeValidator (data, options, optionRules, lang, internal)

Create a new Validator.

Name Type Description
data * The data which needs to be validated.
options Object The setting options
optionRules Object The validation rules for setting options.
lang String The language used by the application. Default: "en".
internal Boolean If this parameter is true, it means, that validation called from core.
Properties:
Name Type Description
alias Array

The aliases for the current validator.

They could be used in the short validation format.

Defined aliases: ['date-time', 'date_format', 'date-format'].

options Object The description of the required options.
Example
var validator = new sogv.DateTimeValidator(data);
if (false === validator.isValid()) {
     validator.errors().first();
}

Extends

Members

data * inherited

Data that needs to be validated.

format String

This option allows to validate a custom date format.

Default: "YYYY-MM-DD HH:mm:ss"

Year, month, and day tokens

Tokens are case-sensitive.

Input Example Description
YYYY 2014 4 or 2 digit year
YY 14 2 digit year
Y -25 Year with any number of digits and sign
Q 1..4 Quarter of year. Sets month to first month in quarter.
M MM 1..12 Month number
MMM MMMM Jan..December Month name in locale that is specified
D DD 1..31 Day of month
Do 1st..31st Day of month with ordinal
DDD DDDD 1..365 Day of year
X 1410715640.579 Unix timestamp
x 1410715640579 Unix ms timestamp

Week year, week, and weekday tokens

Tokens are case-sensitive.

Input Example Description
gggg 2014 Locale 4 digit week year
gg 14 Locale 2 digit week year
w ww 1..53 Locale week of year
e 0..6 Locale day of week
ddd dddd Mon...Sunday Day name in locale that is specified
GGGG 2014 ISO 4 digit week year
GG 14 ISO 2 digit week year
W WW 1..53 ISO week of year
E 1..7 ISO day of week

Locale aware formats

Tokens are case-sensitive.

Input Example Description
L 04/09/1986 Date (in local format)
LL September 4 1986 Month name, day of month, year
LLL September 4 1986 8:30 PM Month name, day of month, year, time
LLLL Thursday, September 4 1986 8:30 PM Day of week, month name, day of month, year, time
LT 08:30 PM Time (without seconds)
LTS 08:30:00 PM Time (with seconds)

Hour, minute, second, millisecond, and offset tokens

Tokens are case-sensitive.

Input Example Description
H HH 0..23 Hours (24 hour time)
h hh 1..12 Hours (12 hour time used with a A.)
k kk 1..24 Hours (24 hour time from 1 to 24)
a A am pm Post or ante meridiem (Note the one character a p are also considered valid)
m mm 0..59 Minutes
s ss 0..59 Seconds
S SS SSS 0..999 Fractional seconds
Z ZZ +12:00 Offset from UTC as +-HH:mm, +-HHmm, or Z

lang String inherited

Language of error messages.

message String

This message is shown if the underlying data is not a valid datetime.

Default: "This value is not a valid datetime."

You can use the following parameters in this message:

Parameter Description
%%value%% The current (invalid) value

Methods

errors ()sogv.Error inherited

Return error errors

Returns:
Type Description
sogv.Error Error messages

isValid ()Boolean inherited overrides

Check if data valid.

Returns:
Type Description
Boolean Validation status