UNPKG

1.39 kBTypeScriptView Raw
1import { VXETableComponent } from './component'
2import { ColumnInfo } from './column'
3import { Table } from './table'
4
5/**
6 * 表格校验
7 */
8export declare class Validator extends VXETableComponent {}
9
10export interface ColumnEditRule {
11 /**
12 * 是否必填
13 */
14 required?: boolean;
15 /**
16 * 最小长度/值
17 */
18 min?: number;
19 /**
20 * 最大长度/值
21 */
22 max?: number;
23 /**
24 * 数据类型
25 */
26 type?: 'number' | 'string';
27 /**
28 * 使用正则表达式校验
29 */
30 pattern?: string | RegExp;
31 /**
32 * 使用自定义校验函数,接收一个 Promise
33 * @param params 参数
34 */
35 validator?: typeof ColumnValidatorMethod;
36 /**
37 * 提示消息
38 */
39 message?: string;
40 trigger?: 'blur' | 'change' | 'manual';
41 maxWidth?: number;
42}
43
44export function ColumnValidatorMethod(params: ColumnEditValidErrParams): void;
45export function ColumnValidatorMethod(params: ColumnEditValidErrParams): Error;
46export function ColumnValidatorMethod(params: ColumnEditValidErrParams): Promise<any>;
47
48export interface ColumnEditValidErrParams {
49 $table: Table,
50 cellValue: any,
51 rule: ColumnEditRule;
52 rules: ColumnEditRule[];
53 column: ColumnInfo;
54 columnIndex: number;
55 row: any;
56 rowIndex: number;
57}
58
59export interface ColumnEditValidErrMapParams {
60 [field: string]: ColumnEditValidErrParams[];
61}