如何在 Parsley.js 中切换错误消息

How to switch error Messages in Parsley.js

我已经为 Parsley.js 编写了一个特定的验证器来确定所选日期是否符合某些条件:

  1. 日期在过去的 a 到 b 年之间。
  2. 如果只给出最小日期,应该有另一条消息

我已经解决了这个问题,方法是编写一个函数并将其分配给两个验证器,以便能够以不同的方式翻译消息。

有没有更好的方法根据验证器给定的参数动态切换消息?

// 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
)

已解决:没有可能。