2010-06-20 7 views
5

예를 들어, 100 개의 속성을 가진 단일 도메인 개체가 있다고 가정 해 보겠습니다. 내 UI에서 스타일의 복잡한 유효성 검사가 필요합니다.복잡한 aspnet UI 유효성 검사를위한 디자인 패턴이 있습니까?

  • A = 1 인 경우 컨트롤 B, C, D를 표시합니다. B는 필수이고 C는 아니며 D가 필요하지 않으면 30보다 작아야합니다. 채워집니다.
  • A = 2 인 경우 컨트롤 B, D, E를 표시하십시오. B는 필요하지 않으며 D는 필요하지만 제한이 없으며 E는 필요하지 않습니다.
  • A = 3 인 경우 제어 B, E, F를 표시하십시오. B는 필수이며 10보다 커야합니다. E는 필수이며 F는 필요하지 않습니다. B = 3, F = 5, 다음 제어 G를 표시하는 경우
  • ,하지만 때 A = 3

당신은 내 문제를 여기에서 볼 수 있습니다. 속성 사이의 관계는 매우 복잡하며 초기 값과 다른 값과의 조합에 따라 유효성이 변경됩니다.

사람들은 과거에 이것을 어떻게 모델링하고 처리 했습니까? 유효성 검사는 자주 할 필요는 없지만 config/xml 기반 솔루션이 가장 좋을 것입니다.

+0

이 도메인 개체의 책임이 너무 많지 않으십니까? – Oded

+0

예, 변경되었지만 불행히도 변경할 수 없습니다. – Craig

+0

책임을 깨는 것은 유효성 확인에 도움이 될 것입니다 ... – Oded

답변

1

이 거대한 도메인 객체를 필요한 속성의 하위 집합 만 포함 된 작은 객체로 투영하고 설명하는 시나리오에 따라 이름을 지정할 수 있습니다. 그것은 당신이 원한다면 일종의 ViewModel을 생성합니다.

A = "X"또는 B = "Y"등 각각의 경우마다 특정 사용 사례가 있어야합니다. 위로 분할 할 경우 ViewModel마다 유효성 검사 규칙을 정의 할 수 있습니다. 이러한 ViewModel에는 컨트롤의 표시/숨김 설정이 포함될 수도 있습니다.

관련 문제