UNPKG

@zoranwong/acc-engine.js

Version:

A javascript framework to accelerate your applicatin developement

47 lines (45 loc) 1.59 kB
import ServiceProvider from "../constracts/ServiceProvider"; import Validator from "./Validator"; import In from "./rules/In"; import NotIn from "./rules/NotIn"; import Required from "./rules/Required"; import Rule from "./Rule"; import Between from "./rules/Between"; import Max from "./rules/Max"; import Min from "./rules/Min"; import Float from "./rules/Float"; import IntegerRule from "./rules/Integer"; import NumberRule from "./rules/Number"; import StringRule from "./rules/String"; import Size from "./rules/Size"; import NotNull from "./rules/NotNull"; import NotEmpty from "./rules/NotEmpty"; export default class ValidationServiceProvider extends ServiceProvider { register () { this.app.instance('validateRules', { in: In, not_in: NotIn, required: Required, between: Between, max: Max, min:Min, float: Float, number: NumberRule, integer: IntegerRule, string: StringRule, size: Size, not_null: NotNull, not_empty: NotEmpty, }); this.app.bind('validator', (app) => { return new Validator(app, this.app.get('validateRules')); }); this.app.bindMethod('defineValidateRule', (name, callback) => { this.app.validateRules[name] = class extends Rule { validate (value, attribute, messages, rules, params) { return callback(value, attribute, messages, rules, params, this); } } }); } }