Reactjs TypeScript反应验证,以fieldname为键的数组

Reactjs TypeScript反应验证,以fieldname为键的数组,reactjs,typescript,Reactjs,Typescript,我正在尝试用react验证表单。 具有主控制器,主控制器具有模型并处理实际验证。 将模型传递给子控制器,以及验证错误 如何创建包含这些错误的数组,该数组有一个键,该键是模型中的字段名,值是验证错误消息。我想将模型字段名绑定到错误消息。例如,我的班级是什么 寻找 export class Model { SampleNumber: number; SampleString: string; Errors: [keyof Model, string]; } 或者在React wi

我正在尝试用react验证表单。 具有主控制器,主控制器具有模型并处理实际验证。 将模型传递给子控制器,以及验证错误

如何创建包含这些错误的数组,该数组有一个键,该键是模型中的字段名,值是验证错误消息。我想将模型字段名绑定到错误消息。例如,我的班级是什么 寻找

export class Model {
   SampleNumber: number;
   SampleString: string;
   Errors: [keyof Model, string];
}

或者在React with typescript中是否有处理验证消息的首选方法。

首先,数组没有键-如果希望对象包含键值对,则需要使用对象来处理错误

如果要指定对象键的类型,可以使用索引签名,如下所示:

export class Model {
    SampleNumber: number;
    SampleString: string;
    Errors: { [x: string]: string };
}
但是,您当前不能在索引签名中单独使用keyof模型-您需要通过在keyof模型中指定字段来使用。然后,您可以将其与部分映射类型相结合,使其不必存在每个字段

export class Model {
    SampleNumber: number;
    SampleString: string;
    Errors: Partial<{ [field in keyof Model]: string }>;
}

let model: Model = {
    SampleNumber: 1,
    SampleString: "",
    Errors: { SampleNumber: "error" }
};

数组没有键-如果希望对象包含键值对,则需要使用对象来处理错误。