面试题答案
一键面试// 假设表单数据类型
type FormData = {
username: string;
password: string;
};
// 映射类型生成验证规则类型
type ValidationRules<T> = {
[K in keyof T]: T[K] extends string
? { required: boolean; minLength: number }
: never;
};
// 根据FormData生成验证规则类型
type FormValidationRules = ValidationRules<FormData>;
// 示例验证规则
const validationRules: FormValidationRules = {
username: { required: true, minLength: 3 },
password: { required: true, minLength: 6 }
};