2011-03-22 1 views
0

일부 컨트롤의 유효성을 검사 할 수 있어야하며이 작업을 수행하는 가장 좋은 방법은 무엇인지 확신 할 수 없습니다. 유효성 검사 중 일부는 특정 속성에서 문자열 길이를 확인하는 것과 같이 항상 있어야합니다. 이것은 충분히 쉬워 보였다.Silverlight 4 조건부 유효성 검사

필수 입력란을 확인할 수 있어야하지만이 앱은 부분 저장을 허용해야하므로 일부 조건 (예 : 화면의 체크 박스)을 확인하고 해당 조건이 충족되는지 확인해야합니다 필요한 경우 유효성을 검사하지만 확인란을 선택하지 않으면 저장하도록 허용합니다.

사용자 정의 유효성 검사기를 통해이를 구현했으며 모든 것이 클라이언트 측에서 잘 작동하지만 일단 저장하려고하면 유효성 검사가 서버 측에서 확인되고 예외가 throw됩니다.

저는 유효성 검사기로 속성에 태그를 지정하기 위해 RIA 메타 데이터에 EF w/data 주석을 사용하고 있습니다.

누구든지 올바른 방향으로 나를이 방법을 수행하는 방법을 알려 주시면 감사하겠습니다.

+0

어떤 종류의 예외가 발생하고 올바른 동작을 나타내는가? INotifyDataErrorInfo 인터페이스를 사용하는 방법을 알고 있으며, 나를 위해 유효성 검사를위한 더 나은 방법입니다. – vorrtex

+0

엔티티 모델에서 주석을 가져옵니다. 나는 어쨌든 거기에 두지 않는다. 디스플레이/입력 모델에 주석을 추가합니다. –

답변

0

속성 설정자의 viewmodel에서 유효성 검사를 수행하는 경우 xaml이 바인딩 된 경우 조건부로 예외를 throw 할 수 있습니다. ValidatesOnExceptions = True 원하는 동작을 얻습니다.

0

클라이언트 측에서 CustomValidation을 구현 한 솔기가 있습니다. customvalidation는 서버와 클라이언트에서 모두 사용할 수 있도록

당신은 ".shared.cs"파일에 서버 측에서이 CustomValidation 클래스을 만들어야합니다. RIA는이 유효성 검사기를 클라이언트에 복제합니다.

모델 클래스에 속성 (추가 속성 일 가능성이 있음)이 있어야하며 checkBox를이 속성에 바인딩하십시오. 서버는 마녀 종류의 유효성 검사가 사용됨을 알게됩니다.

마지막으로 서버 측 RIA 메타 데이터 클래스에 사용자 정의 유효성 검사를 사용하십시오! 다시 말하지만, RIA는이 유효성 검사를 클라이언트에 복제합니다.