如何在 Parsley.js 中切换错误消息
How to switch error Messages in Parsley.js
我已经为 Parsley.js 编写了一个特定的验证器来确定所选日期是否符合某些条件:
- 日期在过去的 a 到 b 年之间。
- 如果只给出最小日期,应该有另一条消息
我已经解决了这个问题,方法是编写一个函数并将其分配给两个验证器,以便能够以不同的方式翻译消息。
有没有更好的方法根据验证器给定的参数动态切换消息?
// 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
)
已解决:没有可能。
我已经为 Parsley.js 编写了一个特定的验证器来确定所选日期是否符合某些条件:
- 日期在过去的 a 到 b 年之间。
- 如果只给出最小日期,应该有另一条消息
我已经解决了这个问题,方法是编写一个函数并将其分配给两个验证器,以便能够以不同的方式翻译消息。
有没有更好的方法根据验证器给定的参数动态切换消息?
// 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
)
已解决:没有可能。