UNPKG

ajt-validator

Version:

Validation library for JavaScript and TypeScript

30 lines (29 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NameValidator = void 0; const base_1 = require("../base"); class NameValidator extends base_1.BaseValidator { constructor(options = {}) { super(); this.options = Object.assign({ minLength: 2, maxLength: 50, allowSpecialChars: false }, options); } validate(name) { if (!name) { return this.createError('NAME_REQUIRED', 'Name is required'); } if (name.length < this.options.minLength) { return this.createError('NAME_TOO_SHORT', `Name must be at least ${this.options.minLength} characters`); } if (name.length > this.options.maxLength) { return this.createError('NAME_TOO_LONG', `Name must not exceed ${this.options.maxLength} characters`); } const namePattern = this.options.allowSpecialChars ? /^[a-zA-Z\s'-]+$/ : /^[a-zA-Z\s]+$/; if (!namePattern.test(name)) { return this.createError('INVALID_NAME_FORMAT', 'Name contains invalid characters'); } return this.createSuccess(name.trim()); } } exports.NameValidator = NameValidator;