UNPKG

validation-box

Version:

The only validation library - with flexible regex - you need.

86 lines (83 loc) 2.73 kB
type ValidationResult = { valid: boolean; errors?: string[]; }; type BaseValidationOptions = { required?: boolean; messages?: { required?: string; [key: string]: string | undefined; }; }; type UsernameValidationOptions = BaseValidationOptions & { min?: number; max?: number; allowSpecialChars?: string; caseSensitive?: boolean; bannedWords?: string[]; messages?: { min?: string; max?: string; bannedWords?: string; invalidFormat?: string; onlyNumbers?: string; required?: string; }; }; type UserValidationOptions = BaseValidationOptions & { min?: number; max?: number; allowSpecialChars?: string; caseSensitive?: boolean; bannedWords?: string[]; messages?: { min?: string; max?: string; bannedWords?: string; invalidFormat?: string; emptySpace?: string; required?: string; }; }; type EmailValidationOptions = BaseValidationOptions & { allowedDomains?: string[]; messages?: { invalidFormat?: string; allowedDomains?: string; required?: string; }; }; type PasswordValidationOptions = BaseValidationOptions & { min?: number; max?: number; allowSpecialChars?: string; bannedWords?: string[]; messages?: { min?: string; max?: string; bannedWords?: string; invalidFormat?: string; required?: string; }; }; type AgeValidationOptions = BaseValidationOptions & { min?: number; max?: number; messages?: { min?: string; max?: string; invalidFormat?: string; required?: string; }; }; declare const validateUsername: (username: string, options?: UsernameValidationOptions) => ValidationResult; declare const validateUser: (user: string, options?: UserValidationOptions) => ValidationResult; declare const validateEmail: (email: string, options?: EmailValidationOptions) => ValidationResult; declare const validatePassword: (password: string, options?: PasswordValidationOptions) => ValidationResult; declare const validateBirthDate: (date: string, options?: { messages?: { invalidFormat?: string; }; }) => ValidationResult; declare const validateAge: (age: number, options?: AgeValidationOptions) => ValidationResult; export { type AgeValidationOptions as A, type BaseValidationOptions as B, type EmailValidationOptions as E, type PasswordValidationOptions as P, type UsernameValidationOptions as U, type ValidationResult as V, type UserValidationOptions as a, validateUser as b, validateEmail as c, validatePassword as d, validateBirthDate as e, validateAge as f, validateUsername as v };