UNPKG

validatorjs2

Version:

Validation library inspired by Laravel's Validator

200 lines (184 loc) 4.78 kB
var replacements = { /** * Between replacement (replaces :min and :max) * * @param {string} template * @param {Rule} rule * @return {string} */ between: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { min: parameters[0], max: parameters[1] }); }, /** * Digits-Between replacement (replaces :min and :max) * * @param {string} template * @param {Rule} rule * @return {string} */ digits_between: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { min: parameters[0], max: parameters[1] }); }, /** * Required_if replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ required_if: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { other: this._getAttributeName(parameters[0]), value: parameters[1] }); }, /** * Required_unless replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ required_unless: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { other: this._getAttributeName(parameters[0]), value: parameters[1] }); }, /** * Required_with replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ required_with: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { field: this._getAttributeName(parameters[0]) }); }, /** * Required_with_all replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ required_with_all: function(template, rule) { var parameters = rule.getParameters(); var getAttributeName = this._getAttributeName.bind(this); return this._replacePlaceholders(rule, template, { fields: parameters.map(getAttributeName).join(', ') }); }, /** * Required_without replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ required_without: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { field: this._getAttributeName(parameters[0]) }); }, /** * Required_without_all replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ required_without_all: function(template, rule) { var parameters = rule.getParameters(); var getAttributeName = this._getAttributeName.bind(this); return this._replacePlaceholders(rule, template, { fields: parameters.map(getAttributeName).join(', ') }); }, /** * After replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ after: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { after: this._getAttributeName(parameters[0]) }); }, /** * Before replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ before: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { before: this._getAttributeName(parameters[0]) }); }, /** * After_or_equal replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ after_or_equal: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { after_or_equal: this._getAttributeName(parameters[0]) }); }, /** * Before_or_equal replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ before_or_equal: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { before_or_equal: this._getAttributeName(parameters[0]) }); }, /** * Same replacement. * * @param {string} template * @param {Rule} rule * @return {string} */ same: function(template, rule) { var parameters = rule.getParameters(); return this._replacePlaceholders(rule, template, { same: this._getAttributeName(parameters[0]) }); }, }; function formatter(attribute) { return attribute.replace(/[_\[]/g, ' ').replace(/]/g, ''); } module.exports = { replacements: replacements, formatter: formatter };