choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
39 lines (38 loc) • 1.67 kB
TypeScript
import { ReactNode } from 'react';
import { Moment } from 'moment';
import ValidationResult from '../ValidationResult';
import { FieldType } from '../../data-set/enum';
import DataSet from '../../data-set/DataSet';
import Record from '../../data-set/Record';
import { Form, TimeStep } from '../../interface';
import { CustomValidator, ValidationMessages } from '../Validator';
export declare type methodReturn = ValidationResult | true;
export declare type validationRule = (value: any, props: ValidatorProps, getProp: <T extends keyof ValidatorProps>(key: T) => ValidatorProps[T]) => methodReturn | PromiseLike<methodReturn>;
declare const validationRules: validationRule[];
export default validationRules;
export interface ValidatorBaseProps {
dataSet?: DataSet | undefined;
record?: Record | undefined;
name?: string | undefined;
form?: Form | undefined;
}
export interface ValidatorProps extends ValidatorBaseProps {
type?: FieldType | undefined;
required?: boolean | undefined;
pattern?: string | RegExp | undefined;
min?: number | Moment | null | undefined;
max?: number | Moment | null | undefined;
step?: number | TimeStep | undefined;
nonStrictStep?: boolean | undefined;
minLength?: number | undefined;
maxLength?: number | undefined;
unique?: boolean | string | undefined;
label?: ReactNode;
customValidator?: CustomValidator | undefined;
multiple?: boolean | undefined;
range?: boolean | [string, string] | undefined;
format?: string | undefined;
attachmentCount?: number | undefined;
defaultValidationMessages?: ValidationMessages | undefined;
stringMode?: boolean;
}