JSバリデーションを手軽にできる validatorjs
ですが、公式ドキュメントに記載しているルール after:date
これにハマった。
Available Rules
after:date
The field under validation must be after the given date.
一見、Laravelの after
バリデーションルールと同じ形だが、結論から言うとここの date
には直接日付文字列は渡せない。
例えばこんな感じ after:2019-01-01
や after:tomorrow
これはダメ。
このafterルールは基本的に同じフォームパラメータと比較するためのものらしい。
例えば、 start_date
, end_date
という2つのフォームパラメータが存在した際に、下記のように使用する。ちなみにこの after と同じ after_or_equal や before や before_or_equal なども同じ仕様。
let data = {
start_date: '2019-01-01',
end_date: '2019-02-01'
};
let rules = {
start_date: 'required|date',
end_date: 'required|date|after:start_date',
};
let validation = new Validator(data, rules);
- validatorjs