서버 측에서 유효성 검사 오류와 워닝을 모두 반환하고 실버 라이트로 표시해야하는 비즈니스 사례가 있습니다. Silverlight가 System.ComponentModel.DataAnnotations.ValidationResult를 사용하여 오류를 처리하는 것을 봅니다. 그것은 "경고"를 포함하고 있지 않습니다.서버 측에서 경고음을 실버 라이트로 반환하는 방법
누구든지이 문제를 해결할 좋은 아이디어가 있는지 궁금합니다. 감사.
서버 측에서 유효성 검사 오류와 워닝을 모두 반환하고 실버 라이트로 표시해야하는 비즈니스 사례가 있습니다. Silverlight가 System.ComponentModel.DataAnnotations.ValidationResult를 사용하여 오류를 처리하는 것을 봅니다. 그것은 "경고"를 포함하고 있지 않습니다.서버 측에서 경고음을 실버 라이트로 반환하는 방법
누구든지이 문제를 해결할 좋은 아이디어가 있는지 궁금합니다. 감사.
ValidationResult는 ValidationAttribute의 서브 클래스에 의해 Throw되는 ValidationException에 의해 사용된다고 생각합니다. 일반적으로이 메카니즘은 throwing to exception이 코드의 실행을 중단하기 때문에 유효성 검사 오류를 차단하는 데 사용됩니다. 귀하의 서비스에서 예외가 발생하면 고객에게 예외를 보내고 처리 할 수 있지만 항상 원하는 시나리오는 아닙니다.
경고 플래그를 추가하기 위해이 모델 (ValidationAttribute 클래스, 그 서브 클래스, ValidationException은 봉인되지 않음)을 확장 할 수 있지만 경고가 발생할 경우 처리를 계속하고 예외를 다시 잡으려면 예외를 트랩해야합니다.
또 다른 대안은 클라이언트에 대한 응답에 비즈니스 논리 유효성 검사 오류 및 경고를 추가하는 것입니다. 원하는 방식으로 원하는 정보를 원하는 방식으로 포함 할 수 있기 때문에이 방법이 마음에 듭니다.
감사합니다. 현재 내 솔루션은 서버에서 오류를 가져 와서 context.ValidationResults에 추가하여 ValidationSumarry가 해당 오류를 찾아서 표시 할 수 있도록하는 것입니다. 그러나 ValidationResults는 오류만을위한 것이며 경고를위한 공간이 없습니다 ... MS 클래스를 상속하고 필드를 추가해야한다고 생각합니까? 좋은 해결책입니까? 아니면 더 나은 것이 있습니다. 일부 기술적 이유로 유효성 검사 오류를 반환 할 수 없습니다 ... – Frank
ValidationResult는 불행히도 봉인되었습니다. 오류와 경고를 동시에 표시하지 않으면 ViewModel에 플래그를 설정하여 오류 또는 경고가 있는지 여부를 표시하고 이에 따라 ValidationSummary 스타일을 지정할 수 있습니다. 더 나은 해결책을 찾아보고 뭔가를 찾으면 다시 게시 할 것입니다. – sowee15
INotifyDataErrorInfo (http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifydataerrorinfo(v=vs.95).aspx)에 대한 설명서의 발언을 확인하십시오. 이것이 좋은 출발점이라고 생각합니다. ViewModel의 오류 사용자 정의. 그러나이 경우에는 ViewModel에 인터페이스를 구현하여 ValidationContext에 오류를 추가하는 대신 새 오류를 사용할 수 있음을 UI에 알립니다. – sowee15