validatorjs icon indicating copy to clipboard operation
validatorjs copied to clipboard

Custom replacements not working for custom rules

Open sanjacornelius opened this issue 4 years ago • 1 comments

In version 3.22.1, when using the provided example for creating custom attributes the :min and :max parameters are not returned.

In doing a little investigation version 3.22.1 seems to be missing some code from PR #375 that implemented the feature. When adding back the missing code the provided example works as expected.

Not sure if it was intended and if there is a different way the custom replacements need to be implemented in this version. A little guidance would be helpful thank you in advance!

Provided Example from Docs

Validator.register(
    'date_between',
    function (value, requirement) {
      // custom validation using dates
    },
    'Custom message for attribute :attribute with replacements :min and :max.',
    function (_template, rule, _getAttributeName) {
      const parameters = rule.getParameters();
        return {
          min: parameters[0],
          max: parameters[1],
        };
    }
);

sanjacornelius avatar Oct 26 '21 15:10 sanjacornelius

I think this happen due some mistake. As we can see that fnReplacement is exists but it's unused.

https://github.com/mikeerickson/validatorjs/blob/46928d706054b94821680c089de8b2a185830429/src/validator.js#L601-L605

ethaizone avatar Nov 19 '21 06:11 ethaizone