UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

38 lines (37 loc) 1.61 kB
import { ReactNode } from 'react'; import ValidationResult from './ValidationResult'; import Record from '../data-set/Record'; import { Form } from '../interface'; import { ValidatorBaseProps, ValidatorProps } from './rules'; import { ValidationErrors, ValidationSelfErrors } from '../data-set/DataSet'; export declare type CustomValidator = (value: any, name?: string, record?: Record | Form) => PromiseLike<boolean | string | undefined> | boolean | string | undefined; export declare type ValidationReport = { valid: boolean; validationResults: ValidationResult[]; validatorProps: ValidatorBaseProps; }; export interface ValidationMessages { badInput?: ReactNode; patternMismatch?: ReactNode; rangeOverflow?: ReactNode; rangeUnderflow?: ReactNode; stepMismatch?: ReactNode; stepMismatchBetween?: ReactNode; tooLong?: ReactNode; tooShort?: ReactNode; typeMismatch?: ReactNode; valueMissing?: ReactNode; valueMissingNoLabel?: ReactNode; customError?: ReactNode; uniqueError?: ReactNode; unknown?: ReactNode; } export default class Validator { validationResults?: ValidationResult[] | undefined; private static addError; static reportAll(errors: ValidationErrors[]): void; static reportDataSet(errors: ValidationSelfErrors[]): void; static report(results: ValidationResult[], props: ValidatorBaseProps): Promise<void>; private static execute; static checkValidity(value?: unknown, props?: ValidatorBaseProps, getProp?: <T extends keyof ValidatorProps>(key: T) => ValidatorProps[T]): Promise<ValidationReport>; }