0
Я написал конкретный валидатор для Parsley.js, чтобы определить, является ли выбранная дата соответствует определенным критериям:Как включить сообщения об ошибках в Parsley.js
- Дата между в прошлом и б лет.
- Если только мин-дата дается, должно быть еще одно сообщение
Я решил эту проблему, написав одну функцию и назначить его на два валидаторов, чтобы иметь возможность переводить сообщения по-разному.
Есть ли лучший способ динамически переключать сообщение на основе параметров, заданных для валидатора?
// translationkeys:
// timerange: "Muss zwischen %s und %s Jahren in der Vergangenheit liegen"
// mintimerage: "Muss mindestens %s Jahr(e) in der Vergangenheit liegen"
var timeValidator = function (value, req) {
if(req.min){
var mindate = moment().subtract(req.min, 'y');
}
if(req.max){
var maxdate = moment().subtract(req.max, 'y');
}
var date = moment(value, 'DD.MM.YYYY');
if(req.max){
return (date.isAfter(maxdate)&& date.isBefore(mindate));
} else {
return (date.isBefore(mindate));
}
}
window.ParsleyValidator.addValidator('timerange', timeValidator,
32
)
window.ParsleyValidator.addValidator('mintimerange', timeValidator,
32
)