UNPKG

11.8 kBTypeScriptView Raw
1import { PropType } from 'vue';
2import FormItem from './FormItem';
3import { VueNode } from '../_util/type';
4import { ColProps } from '../grid/Col';
5import { NamePath, ValidateErrorEntity, ValidateOptions } from './interface';
6export declare type ValidationRule = {
7 /** validation error message */
8 message?: VueNode;
9 /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */
10 type?: string;
11 /** indicates whether field is required */
12 required?: boolean;
13 /** treat required fields that only contain whitespace as errors */
14 whitespace?: boolean;
15 /** validate the exact length of a field */
16 len?: number;
17 /** validate the min length of a field */
18 min?: number;
19 /** validate the max length of a field */
20 max?: number;
21 /** validate the value from a list of possible values */
22 enum?: string | string[];
23 /** validate from a regular expression */
24 pattern?: RegExp;
25 /** transform a value before validation */
26 transform?: (value: any) => any;
27 /** custom validate function (Note: callback must be called) */
28 validator?: (rule: any, value: any, callback: any, source?: any, options?: any) => any;
29 trigger?: string;
30};
31export declare const FormProps: {
32 layout: import("vue-types").VueTypeDef<"inline" | "horizontal" | "vertical">;
33 labelCol: {
34 type: PropType<ColProps>;
35 };
36 wrapperCol: {
37 type: PropType<ColProps>;
38 };
39 colon: import("vue-types").VueTypeValidableDef<boolean>;
40 labelAlign: import("vue-types").VueTypeDef<"left" | "right">;
41 prefixCls: import("vue-types").VueTypeValidableDef<string> & {
42 default: string;
43 };
44 hideRequiredMark: import("vue-types").VueTypeValidableDef<boolean>;
45 model: import("vue-types").VueTypeValidableDef<{
46 [key: string]: any;
47 }> & {
48 default: () => {
49 [key: string]: any;
50 };
51 };
52 rules: {
53 type: PropType<{
54 [k: string]: ValidationRule | ValidationRule[];
55 }>;
56 };
57 validateMessages: import("vue-types").VueTypeValidableDef<{
58 [key: string]: any;
59 }> & {
60 default: () => {
61 [key: string]: any;
62 };
63 };
64 validateOnRuleChange: import("vue-types").VueTypeValidableDef<boolean>;
65 scrollToFirstError: import("vue-types").VueTypeValidableDef<boolean>;
66 onSubmit: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
67 default: (...args: any[]) => any;
68 };
69 onFinish: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
70 default: (...args: any[]) => any;
71 };
72 onFinishFailed: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
73 default: (...args: any[]) => any;
74 };
75 name: import("vue-types").VueTypeValidableDef<string> & {
76 default: string;
77 };
78 validateTrigger: {
79 type: PropType<string | string[]>;
80 };
81};
82declare const _default: {
83 new (...args: any[]): {
84 $: import("vue").ComponentInternalInstance;
85 $data: {};
86 $props: Partial<{
87 onSubmit: (...args: any[]) => any;
88 prefixCls: string;
89 name: string;
90 model: {
91 [key: string]: any;
92 };
93 validateMessages: {
94 [key: string]: any;
95 };
96 onFinish: (...args: any[]) => any;
97 onFinishFailed: (...args: any[]) => any;
98 }> & Pick<Readonly<{
99 onSubmit: (...args: any[]) => any;
100 prefixCls: string;
101 name: string;
102 model: {
103 [key: string]: any;
104 };
105 validateMessages: {
106 [key: string]: any;
107 };
108 onFinish: (...args: any[]) => any;
109 onFinishFailed: (...args: any[]) => any;
110 } & {
111 layout?: "inline" | "horizontal" | "vertical";
112 colon?: boolean;
113 validateTrigger?: string | string[];
114 labelCol?: unknown;
115 wrapperCol?: unknown;
116 labelAlign?: "left" | "right";
117 rules?: {
118 [k: string]: ValidationRule | ValidationRule[];
119 };
120 hideRequiredMark?: boolean;
121 validateOnRuleChange?: boolean;
122 scrollToFirstError?: boolean;
123 }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "style" | "class" | "key" | "ref" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "layout" | "colon" | "validateTrigger" | "labelCol" | "wrapperCol" | "labelAlign" | "rules" | "hideRequiredMark" | "validateOnRuleChange" | "scrollToFirstError">;
124 $attrs: Record<string, unknown>;
125 $refs: Record<string, unknown>;
126 $slots: Readonly<{
127 [name: string]: import("vue").Slot;
128 }>;
129 $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
130 $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
131 $emit: (event: string, ...args: any[]) => void;
132 $el: any;
133 $options: import("vue").ComponentOptionsBase<Readonly<{
134 onSubmit: (...args: any[]) => any;
135 prefixCls: string;
136 name: string;
137 model: {
138 [key: string]: any;
139 };
140 validateMessages: {
141 [key: string]: any;
142 };
143 onFinish: (...args: any[]) => any;
144 onFinishFailed: (...args: any[]) => any;
145 } & {
146 layout?: "inline" | "horizontal" | "vertical";
147 colon?: boolean;
148 validateTrigger?: string | string[];
149 labelCol?: unknown;
150 wrapperCol?: unknown;
151 labelAlign?: "left" | "right";
152 rules?: {
153 [k: string]: ValidationRule | ValidationRule[];
154 };
155 hideRequiredMark?: boolean;
156 validateOnRuleChange?: boolean;
157 scrollToFirstError?: boolean;
158 }>, {
159 configProvider: import("../config-provider").ConfigConsumerProps;
160 fields: any[];
161 form: any;
162 lastValidatePromise: any;
163 vertical: import("vue").ComputedRef<boolean>;
164 }, unknown, {}, {
165 addField(field: any): void;
166 removeField(field: any): void;
167 handleSubmit(e: Event): void;
168 getFieldsByNameList(nameList: NamePath): any[];
169 resetFields(name: NamePath): void;
170 clearValidate(name: NamePath): void;
171 handleFinishFailed(errorInfo: ValidateErrorEntity<any>): void;
172 validate(...args: any[]): Promise<any>;
173 scrollToField(name: NamePath, options?: {}): void;
174 getFieldsValue(nameList?: true | NamePath[]): any;
175 validateFields(nameList?: NamePath[], options?: ValidateOptions): Promise<any>;
176 validateField(...args: any[]): Promise<any>;
177 }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
178 onSubmit: (...args: any[]) => any;
179 prefixCls: string;
180 name: string;
181 model: {
182 [key: string]: any;
183 };
184 validateMessages: {
185 [key: string]: any;
186 };
187 onFinish: (...args: any[]) => any;
188 onFinishFailed: (...args: any[]) => any;
189 }>;
190 $forceUpdate: import("vue").ReactiveEffect<any>;
191 $nextTick: typeof import("vue").nextTick;
192 $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
193 } & Readonly<{
194 onSubmit: (...args: any[]) => any;
195 prefixCls: string;
196 name: string;
197 model: {
198 [key: string]: any;
199 };
200 validateMessages: {
201 [key: string]: any;
202 };
203 onFinish: (...args: any[]) => any;
204 onFinishFailed: (...args: any[]) => any;
205 } & {
206 layout?: "inline" | "horizontal" | "vertical";
207 colon?: boolean;
208 validateTrigger?: string | string[];
209 labelCol?: unknown;
210 wrapperCol?: unknown;
211 labelAlign?: "left" | "right";
212 rules?: {
213 [k: string]: ValidationRule | ValidationRule[];
214 };
215 hideRequiredMark?: boolean;
216 validateOnRuleChange?: boolean;
217 scrollToFirstError?: boolean;
218 }> & import("vue").ShallowUnwrapRef<{
219 configProvider: import("../config-provider").ConfigConsumerProps;
220 fields: any[];
221 form: any;
222 lastValidatePromise: any;
223 vertical: import("vue").ComputedRef<boolean>;
224 }> & {} & {
225 addField(field: any): void;
226 removeField(field: any): void;
227 handleSubmit(e: Event): void;
228 getFieldsByNameList(nameList: NamePath): any[];
229 resetFields(name: NamePath): void;
230 clearValidate(name: NamePath): void;
231 handleFinishFailed(errorInfo: ValidateErrorEntity<any>): void;
232 validate(...args: any[]): Promise<any>;
233 scrollToField(name: NamePath, options?: {}): void;
234 getFieldsValue(nameList?: true | NamePath[]): any;
235 validateFields(nameList?: NamePath[], options?: ValidateOptions): Promise<any>;
236 validateField(...args: any[]): Promise<any>;
237 } & import("vue").ComponentCustomProperties;
238 __isFragment?: never;
239 __isTeleport?: never;
240 __isSuspense?: never;
241} & import("vue").ComponentOptionsBase<Readonly<{
242 onSubmit: (...args: any[]) => any;
243 prefixCls: string;
244 name: string;
245 model: {
246 [key: string]: any;
247 };
248 validateMessages: {
249 [key: string]: any;
250 };
251 onFinish: (...args: any[]) => any;
252 onFinishFailed: (...args: any[]) => any;
253} & {
254 layout?: "inline" | "horizontal" | "vertical";
255 colon?: boolean;
256 validateTrigger?: string | string[];
257 labelCol?: unknown;
258 wrapperCol?: unknown;
259 labelAlign?: "left" | "right";
260 rules?: {
261 [k: string]: ValidationRule | ValidationRule[];
262 };
263 hideRequiredMark?: boolean;
264 validateOnRuleChange?: boolean;
265 scrollToFirstError?: boolean;
266}>, {
267 configProvider: import("../config-provider").ConfigConsumerProps;
268 fields: any[];
269 form: any;
270 lastValidatePromise: any;
271 vertical: import("vue").ComputedRef<boolean>;
272}, unknown, {}, {
273 addField(field: any): void;
274 removeField(field: any): void;
275 handleSubmit(e: Event): void;
276 getFieldsByNameList(nameList: NamePath): any[];
277 resetFields(name: NamePath): void;
278 clearValidate(name: NamePath): void;
279 handleFinishFailed(errorInfo: ValidateErrorEntity<any>): void;
280 validate(...args: any[]): Promise<any>;
281 scrollToField(name: NamePath, options?: {}): void;
282 getFieldsValue(nameList?: true | NamePath[]): any;
283 validateFields(nameList?: NamePath[], options?: ValidateOptions): Promise<any>;
284 validateField(...args: any[]): Promise<any>;
285}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
286 onSubmit: (...args: any[]) => any;
287 prefixCls: string;
288 name: string;
289 model: {
290 [key: string]: any;
291 };
292 validateMessages: {
293 [key: string]: any;
294 };
295 onFinish: (...args: any[]) => any;
296 onFinishFailed: (...args: any[]) => any;
297}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
298 readonly Item: typeof FormItem;
299};
300export default _default;