我有一个从JSON对象生成的接口:
export interface ValidationMsg {
stringMinCharsValidation: string;
stringMaxCharsValidation: string;
stringMaxCharsForValidation: string;
stringMaxCharsValidationWithKey: string;
stringMinCharsValidationWithKey: string;
stringThreeChars: string;
moreThanThreeChars: string;
coverMoreThan5: string;
coverLessThan100: string;
coverLessThan45: string;
firstNameThree: string;
firstNameWrongFormat: string;
firstNameNoSpace: string;
lastNameWrongFormat: string;
lastNameNoSpace: string;
numberLessThanLowerBound: string;
numberMoreThanUpperBound: string;
numberLessThanLowerBoundKgs: string;
numberMoreThanUpperBoundKgs: string;
numberLessThanLowerBoundMtrs: string;
numberMoreThanUpperBoundMtrs: string;
notNull: string;
yearNot4: string;
onlyNumbers: string;
htmlTagsNotAllowed: string;
validDate: string;
validDateFormat: string;
pastDate: string;
futureDate: string;
birthdayMax: string;
birthdayMin: string;
validPhoneNumber: string;
validEmail: string;
emailMaximumLength: string;
notUkResident: string;
pleaseSelect: string;
validPostCode: string;
validSortCode: string;
validAuthorisation: string;
validAccountNumber: string;
noNumbers: string;
invalidBankDetails: string;
unknownSortCode: string;
invalidAccountNumber: string;
notEmpty: string;
otherTitleNotNull: string;
notEqualUnknown: string;
invalidPassword: string;
noValue: string;
passwordsDontMatch: string;
postcodeIsNotGuernseyOrChannelIslands: string;
pleaseConfirm: string;
pleaseCheckOCIS: string;
mandatoryAddressFields: MandatoryAddressFields;
firmNameThree: string;
firmNameWrongFormat: string;
firmNameNoSpace: string;
firmReferenceWrongFormat: string;
firmReferenceNoSpace: string;
wrongFormat: string;
noSpace: string;
noSpaceStart: string;
groupNameWrongFormat: string;
groupNameNoSpace: string;
groupReferenceWrongFormat: string;
groupReferenceNoSpace: string;
isNotNull: string;
isValidNumber: string;
isGreaterThanLowerBound: string;
isLessThanUpperBound: string;
}
export interface MandatoryAddressFields {
AUS: string;
GBR: string;
DEFAULT: string;
}
我最初使用Rcord<string, string>
将其表示为接口,但由于MandatoryAddressFields
而无法正常工作。
是否有一种更简洁的表示方式?
答案 0 :(得分:2)
一个不太严格的方法可能是这样:
interface ValidationMsg {
mandatoryAddressFields: MandatoryAddressFields,
[key: string]: any
}
interface MandatoryAddressFields {
AUS: string;
GBR: string;
DEFAULT: string;
}