Как сохранить правила проверки в константах приложения в Typescript - PullRequest
1 голос
/ 02 марта 2020

Я пытаюсь сохранить объекты бизнес-правил проверки в файле stati c (constants.ts), чтобы я мог ссылаться на сообщения в своей функции проверки. Если проверка не пройдена, я должен вернуть следующие три свойства, которые находятся в моем:

status:boolean
errorMessage:string
errorMeaning:string
errorNo:number
errorDescription: string

Функция проверки:

constructor() {
 this.upval = new UploadValidationModel();
}

validateFileHeaderColumns(data: any ): UploadValidationModel {
if (data[1].length !== 6) {
  this.upval.status = false;
  this.upval.errorMessage = 'Incorrect number of fields';
  this.upval.errorFix = 'Check that Row 1 has seven (7) fields';
  return this.upval;
}

}

, так что скорее чем жестко закодировать это здесь, есть ли способ, которым я могу иметь эти значения как константы в файле, а затем вводить их? Я попытался добавить файл uploadvalidation.ts со следующим кодом, но я не уверен, как я могу получить эти значения. Также может быть несколько правил, поэтому мне нужен массив объектов в этом файле.

export const UploadValidationInvalidHeader
{
 { "status" : false,
   "errorMessage": 'Incorrect number of fields',
   "errorMeaning": 'Fix it',
   "errorNo":number
   "errorDescription": string
  }
}

1 Ответ

1 голос
/ 02 марта 2020

Вы можете поместить все свои результаты ошибки проверки в один объект, где ключом является имя бизнес-правила, например

export const validationResult:ValdationResultMapType {
UploadValidationInvalidHeader: { 
   "status" : false,
   "errorMessage": 'Incorrect number of fields',
   "errorMeaning": 'Fix it',
   "errorNo": 1234,
   "errorDescription": 'Check that Row 1 has seven (7) fields',
  }
}

, а затем, если проверка не пройдена, распространить сведения о результатах проверки.

validateFileHeaderColumns(data: any ): UploadValidationModel {
if (data[1].length !== 6) {
  this.upval = {...validationResult.UploadValidationInvalidHeader};
  return this.upval;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...