simple-body-validator
Version:
This package is inspired by Laravel validation, and aims to make body validation easier for Javascript developers
65 lines (64 loc) • 1.61 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const lang_1 = __importDefault(require("../lang"));
const object_1 = require("../utils/object");
class RuleContract {
constructor() {
/**
* The validation error message.
*/
this.message = '';
/**
* All of the data under validation.
*/
this.data = {};
}
/**
* Determine if the validation rule passes.
*/
passes(value, attribute) {
return true;
}
;
/**
* Get the validation error message.
*/
getMessage() {
return this.message;
}
;
/**
* Set the data under validation.
*/
setData(data) {
this.data = data;
return this;
}
;
/**
* Set the tranlation language
*/
setLang(lang) {
this.lang = lang;
return this;
}
;
/**
* Get the translated error message based on the specified path
*/
trans(path, params = {}) {
const validatonMessages = lang_1.default.get(this.lang);
let message = (0, object_1.deepFind)(validatonMessages, path) || '';
if (!message) {
return message;
}
for (let key in params) {
message = message.replace(`:${key}`, params[key]);
}
return message;
}
}
exports.default = RuleContract;