I have a set of predefined rules which is loaded with a rest call from an external resource.
rules.yaml
rules:
firstname:
rule: value.length <= params.max
message: Bitte geben Sie nicht mehr als {{params.max}} Zeichen ein
params:
max: 20
lastname:
rule: value.length <= params.max
message: Bitte geben Sie nicht mehr als {{params.max}} Zeichen ein
params:
max: 30
Then i wrote a custom validator like this:
window.Parsley.addValidator('rules', {
rules: rules,
validateString: function (value, requirement) {
let constraint = rules[requirement];
if (constraint) {
let params = constraint.params;
if (constraint.message) {
let errorMessage = Mustache.render(constraint.message, {params: params, value: value});
}
return !value || eval(constraint.rule);
} else {
console.log('Invalid constraint: $requirement could not be found inside $rules');
return false;
}
},
requirementType: 'string',
messages: {
en: 'The string ist invalid %s.',
fr: 'Ce nombre n\'est pas un multiple de %s.'
}
});
Validation works as expected. But as you can see, the error message is dynamically computed during validation. How can Parsley use my computed message in this setup?