UNPKG

@frank-auth/react

Version:

Flexible and customizable React UI components for Frank Authentication

93 lines 3.95 kB
export interface ValidationResult { isValid: boolean; error?: string; errors?: string[]; } export type ValidationRule = (value: any) => ValidationResult | Promise<ValidationResult>; export declare const required: (message?: string) => ValidationRule; export declare const minLength: (min: number, message?: string) => ValidationRule; export declare const maxLength: (max: number, message?: string) => ValidationRule; export declare const pattern: (regex: RegExp, message?: string) => ValidationRule; export declare const email: (message?: string) => ValidationRule; export declare const phone: (message?: string) => ValidationRule; export declare const username: (message?: string) => ValidationRule; export declare const password: (options?: { minLength?: number; requireUppercase?: boolean; requireLowercase?: boolean; requireNumbers?: boolean; requireSymbols?: boolean; message?: string; }) => ValidationRule; export declare const confirmPassword: (originalPassword: string, message?: string) => ValidationRule; export declare const url: (message?: string) => ValidationRule; export declare const number: (options?: { min?: number; max?: number; integer?: boolean; message?: string; }) => ValidationRule; export declare const oneOf: (options: any[], message?: string) => ValidationRule; export declare const custom: (validator: (value: any) => boolean | string, message?: string) => ValidationRule; export declare const asyncValidation: (validator: (value: any) => Promise<boolean | string>, message?: string) => ValidationRule; export declare const combine: (...rules: ValidationRule[]) => ValidationRule; export interface FormValidationRules { [fieldName: string]: ValidationRule | ValidationRule[]; } export interface FormValidationResult { isValid: boolean; errors: Record<string, string>; fieldErrors: Record<string, string[]>; } export declare const validateForm: (data: Record<string, any>, rules: FormValidationRules) => Promise<FormValidationResult>; export declare const validateField: (value: any, rules: ValidationRule | ValidationRule[]) => Promise<ValidationResult>; export declare const validateSignInForm: (data: { identifier: string; password?: string; }) => Promise<FormValidationResult>; export declare const validateSignUpForm: (data: { emailAddress?: string; username?: string; password?: string; confirmPassword?: string; firstName?: string; lastName?: string; phoneNumber?: string; }) => Promise<FormValidationResult>; export declare const validatePasswordResetForm: (data: { emailAddress: string; }) => Promise<FormValidationResult>; export declare const validatePasswordChangeForm: (data: { currentPassword: string; newPassword: string; confirmPassword: string; }) => Promise<FormValidationResult>; export declare const validateProfileForm: (data: { firstName?: string; lastName?: string; username?: string; emailAddress?: string; phoneNumber?: string; bio?: string; website?: string; }) => Promise<FormValidationResult>; export declare const validateOrganizationForm: (data: { name: string; slug?: string; description?: string; website?: string; billingEmail?: string; }) => Promise<FormValidationResult>; export declare const validateInvitationForm: (data: { emailAddress: string; roleId: string; customMessage?: string; }) => Promise<FormValidationResult>; export declare const isValidEmail: (email: string) => boolean; export declare const isValidPhone: (phone: string) => boolean; export declare const isValidUsername: (username: string) => boolean; export declare const isValidUrl: (url: string) => boolean; export declare const sanitizeInput: (input: string) => string; export declare const normalizeEmail: (email: string) => string; export declare const normalizePhone: (phone: string) => string; //# sourceMappingURL=validation.d.ts.map