choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
38 lines (37 loc) • 1.61 kB
TypeScript
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>;
}