UNPKG

@zoranwong/acc-engine.js

Version:

A javascript framework to accelerate your applicatin developement

35 lines (33 loc) 1.21 kB
import Rule from "../Rule"; import {indexOf} from 'underscore'; import RequestValidationError from "../RequestValidationError"; import RequestValidationRuleOptionError from "../RequestValidationRuleOptionError"; export default class In extends Rule { name = 'in'; constructor (name = 'in', options) { super(name, options); this.options = options.split(','); } validate (value, attribute, messages, rules, params) { if (this.options) { /**@var Array options*/ let options = this.options; if (indexOf(options, value) > -1) { this.failed = false; return true; } let rule = attribute + '.' + this.name; let message = `attribute ${attribute} value is not in [` + options.join(',') + ']'; if(messages && messages[rule]) { message = messages[rule]; } this.failed = true; this.message = message; return false; } else { this.message = `${attribute} validate rule ${this.name} has not parameters`; this.failed = true; return false; } } }