Skip to content

ValidationRule

ValidationRule is the base class for class-based custom rules.

Import

ts
import { ValidationRule } from 'kanun';

Extend the Class

ts
class CustomRule extends ValidationRule {
  validate(
    attribute: string,
    value: any,
    fail: (message: string) => void,
  ): void {
    if (value !== 'expected') {
      fail(`The ${attribute} is invalid.`);
    }
  }
}

Required Method

validate(attribute, value, fail): void

  • attribute: field name being validated
  • value: current field value
  • fail(message): call to mark rule as failed

Optional Hooks

setData(data): this

Called with full validator payload before rule evaluation.

setValidator(validator): this

Called with current Validator instance.

Notes

  • Call fail(...) at least once to fail the rule.
  • If fail(...) is never called, the rule passes.