In the NerdDinner tutorial, Step 5, 중간 길 아래로 전체 편집 작업 방법 구현 아래 질문 단락이 :얼간이 저녁 식사 유효성 검사 규칙은
우리의 편집 구현에 대한 좋은 점은 우리의 컨트롤러 클래스와 우리의보기 템플릿도 알고있다이다는 우리의 저녁 식사 모델에 의해 시행되는 구체적인 검증 또는 비즈니스 규칙에 관한 것. 앞으로 모델에 규칙을 추가 할 수 있으며, 컨트롤러 또는 뷰를 지원하기 위해 코드를 변경할 필요가 없습니다. 이를 통해 최소한의 코드 변경만으로 향후 애플리케이션 요구 사항을 쉽게 개발할 수있는 유연성을 확보 할 수 있습니다.
제 질문은 어떤 규칙을 추가하여 깨끗한 분리를 잃지 않도록 할 수 있는지입니다. 내가 특정 클래스/모델 정보가없는 응용 프로그램을 통해 사용할 수 있기 때문에
catch {
foreach (var issue in dinner.GetRuleViolations()) {
ModelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
return View(dinner);
}
:
public static class ControllerHelpers {
public static void AddRuleViolations(this ModelStateDictionary modelState, IEnumerable<RuleViolation> errors) {
foreach (RuleViolation issue in errors) {
modelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
}
}
이 코드보다 낫다 : 나는이 코드를 볼 수 있습니다. 위와 같이 오류 처리가 간단하다면 어떻게 좋을지 알 수 있습니다.하지만 새로운 비즈니스 규칙에 대해 더 복잡한 것을 추가하는 방법을 모르며 예제를 원하고 있습니다.
답변 해 주셔서 감사합니다. – johnny