diff --git a/src/interface.ts b/src/interface.ts index 751ed3b4..482f6d09 100644 --- a/src/interface.ts +++ b/src/interface.ts @@ -86,6 +86,7 @@ export type RuleObject = AggregationRule | ArrayRule; export type Rule = RuleObject | RuleRender; export interface ValidateErrorEntity { + message: string; values: Values; errorFields: { name: InternalNamePath; errors: string[] }[]; outOfDate: boolean; diff --git a/src/useForm.ts b/src/useForm.ts index 7879cf85..d685635a 100644 --- a/src/useForm.ts +++ b/src/useForm.ts @@ -982,7 +982,9 @@ export class FormStore { }) .catch((results: { name: InternalNamePath; errors: string[] }[]) => { const errorList = results.filter(result => result && result.errors.length); + const errorMessage = errorList[0]?.errors?.[0]; return Promise.reject({ + message: errorMessage, values: this.getFieldsValue(namePathList), errorFields: errorList, outOfDate: this.lastValidatePromise !== summaryPromise,