UNPKG

validame

Version:

Javascript string validator

456 lines (455 loc) 14.3 kB
export type Rules = { /** * Required: * - 0: disabled * - 1: allows null but fails with "" * - 2: fails with null and "" */ req: 0 | 1 | 2; /** * Number of minimum characters. */ min: number; /** * Number of maximum characters. */ max: number; /** * Number of exact characters. */ minMax: number; /** * Symbols to allow separated with spaces, they are checked from left to right, if one fails it stops there. Example: "a 1 _". */ allow: string; /** * Symbols to allow separated with spaces, they are checked from left to right, if one fails it stops there. Example: "a 1 _". * * - `a`: a-z * - `A`: A-Z * - `aA`: a-zA-Z * - `1`: 0-9 * - `2`: 0-9., * - `_`: spaces * - `!`: (special characters) * - `ñ`: áéíóúñ * - `Ñ`: ÑÁÉÍÓÚ * - `ñÑ`: áéíóúñÑÁÉÍÓÚ * - `phoneEs`: Spanish telephone number. * - `mobileEs`: Spanish mobile number. * - `costlessPrefixEs`: Prevents paid spanish prefixes. * - `dni`: Valid DNI (spain). * - `ibanEs`: Spanish IBAN. * - `email`: Email address. * - `postalCodeEs`: Spanish postal code. */ allowOr: string; /** * Pass the validation and skips the next steps if the string matches any word */ passWith: string[]; /** * Fails the validation if the string matches any word */ failWith: string[]; /** * Minimum characters needed */ password: [uppercase: number, lowercase: number, numbers: number]; }; /** * @typedef Rules * @property {0 | 1 | 2} req Required: * - 0: disabled * - 1: allows null but fails with "" * - 2: fails with null and "" * * @property {number} min Number of minimum characters. * @property {number} max Number of maximum characters. * @property {number} minMax Number of exact characters. * @property {string} allow Symbols to allow separated with spaces, they are checked from left to right, if one fails it stops there. Example: "a 1 _". * @property {string} allowOr Symbols to allow separated with spaces, they are checked from left to right, if one fails it stops there. Example: "a 1 _". * * - `a`: a-z * - `A`: A-Z * - `aA`: a-zA-Z * - `1`: 0-9 * - `2`: 0-9., * - `_`: spaces * - `!`: (special characters) * - `ñ`: áéíóúñ * - `Ñ`: ÑÁÉÍÓÚ * - `ñÑ`: áéíóúñÑÁÉÍÓÚ * - `phoneEs`: Spanish telephone number. * - `mobileEs`: Spanish mobile number. * - `costlessPrefixEs`: Prevents paid spanish prefixes. * - `dni`: Valid DNI (spain). * - `ibanEs`: Spanish IBAN. * - `email`: Email address. * - `postalCodeEs`: Spanish postal code. * * @property {string} allowOr Symbols (only functions, not regex) to allow, they are checked from left to right, if all of them fails, returns the first error. Example: "dni cif". * @property {string[]} passWith Pass the validation and skips the next steps if the string matches any word * @property {string[]} failWith Fails the validation if the string matches any word * @property {[uppercase: number, lowercase: number, numbers: number]} password Minimum characters needed * */ /** * Validates a string. * https://www.npmjs.com/package/validame * ___ * * @param {string} stringParaValidar - String to validate. * @param {Rules} rules - Object that contains a list with one or more rules. * * ___ * * @returns {string} If the validation it's correct returns "", otherwise returns the error. * */ declare function validation(stringParaValidar: string, rules: Rules): string; declare namespace config { const language: string; const symbols: { a: { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; A: { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; aA: { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; "1": { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; "2": { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; _: { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; "!": { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; ñ: { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; Ñ: { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; ñÑ: { regex: RegExp; messages: { name: { es: string; en: string; }; }; }; phoneEs: { regex: (stringParaValidar: any, config: any) => any; messages: { invalid: { es: string; en: string; }; digits: { es: string; en: string; }; }; }; mobileEs: { regex: (stringParaValidar: any, config: any) => any; messages: { invalid: { es: string; en: string; }; digits: { es: string; en: string; }; }; }; costlessPrefixEs: { regex: (stringParaValidar: any, config: any) => any; messages: { invalid: { es: string; en: string; }; }; }; dni: { regex: (stringParaValidar: any, config: any) => any; messages: { invalid: { es: string; en: string; }; finalLetter: { es: string; en: string; }; }; }; cif: { regex: (stringParaValidar: any, config: any) => any; messages: { length: { es: string; en: string; }; structure: { es: string; en: string; }; }; }; email: { regex: (stringParaValidar: any, config: any) => any; messages: { invalid: { es: string; en: string; }; }; }; ibanEs: { regex: (stringParaValidar: any, config: any) => any; messages: { invalid: { es: string; en: string; }; structure: { es: string; en: string; }; }; }; postalCodeEs: { regex: (stringParaValidar: any, config: any) => any; messages: { invalid: { es: string; en: string; }; digits: { es: string; en: string; }; }; }; }; namespace rules { namespace allow { export { allow as fnc }; export namespace messages { namespace itsOnlyAllowed { const es: string; const en: string; } namespace and { const es_1: string; export { es_1 as es }; const en_1: string; export { en_1 as en }; } } } namespace allowOr { export { allowOr as fnc }; export namespace messages_1 { export namespace itsOnlyAllowed_1 { const es_2: string; export { es_2 as es }; const en_2: string; export { en_2 as en }; } export { itsOnlyAllowed_1 as itsOnlyAllowed }; export namespace and_1 { const es_3: string; export { es_3 as es }; const en_3: string; export { en_3 as en }; } export { and_1 as and }; } export { messages_1 as messages }; } namespace min { export { min as fnc }; export namespace messages_2 { namespace error { const es_4: string; export { es_4 as es }; const en_4: string; export { en_4 as en }; } } export { messages_2 as messages }; } namespace max { export { max as fnc }; export namespace messages_3 { export namespace error_1 { const es_5: string; export { es_5 as es }; const en_5: string; export { en_5 as en }; } export { error_1 as error }; } export { messages_3 as messages }; } namespace minMax { export { minMax as fnc }; export namespace messages_4 { export namespace error_2 { const es_6: string; export { es_6 as es }; const en_6: string; export { en_6 as en }; } export { error_2 as error }; } export { messages_4 as messages }; } namespace req { export { req as fnc }; export namespace messages_5 { export namespace error_3 { const es_7: string; export { es_7 as es }; const en_7: string; export { en_7 as en }; } export { error_3 as error }; } export { messages_5 as messages }; } namespace password { export { password as fnc }; export namespace messages_6 { namespace lower { const es_8: string; export { es_8 as es }; const en_8: string; export { en_8 as en }; } namespace upper { const es_9: string; export { es_9 as es }; const en_9: string; export { en_9 as en }; } namespace number { const es_10: string; export { es_10 as es }; const en_10: string; export { en_10 as en }; } } export { messages_6 as messages }; } namespace passWith { export { passWith as fnc }; } namespace failWith { export { failWith as fnc }; export namespace messages_7 { export namespace error_4 { const es_11: string; export { es_11 as es }; const en_11: string; export { en_11 as en }; } export { error_4 as error }; } export { messages_7 as messages }; } namespace disallow { export const fnc: string; export namespace messages_8 { export namespace error_5 { const es_12: string; export { es_12 as es }; const en_12: string; export { en_12 as en }; } export { error_5 as error }; } export { messages_8 as messages }; } } } declare namespace utils { const multiReplace: (text?: string, objReplace?: {}) => string; } import allow_1 = require("./validations/rules/allow"); import allowOr_1 = require("./validations/rules/allowOr"); import min_1 = require("./validations/rules/min"); import max_1 = require("./validations/rules/max"); import minMax_1 = require("./validations/rules/minMax"); import req_1 = require("./validations/rules/req"); import password_1 = require("./validations/rules/password"); import passWith_1 = require("./validations/rules/passWith"); import failWith_1 = require("./validations/rules/failWith"); export { validation as validame, config as validameConfig, utils as validameUtils };