2012-07-24 3 views
1

프리즘 4와 WPF를 사용하여 응용 프로그램을 만들고 일부 입력 유효성 검사를했는데 예상대로 작동하지만 사용자가 버튼을 클릭하면 유효성 오류가 있는지 여부를 알아야합니다 선물.PRISM4를 사용하여 유효성 검사 오류가 발생했습니다

Prism4에는이 문제를 처리하기 위해 구현 된 것이 있습니까? 아니면 직접 구현해야합니까?

답변

2

유효성 검사 오류를 다루는 것은 프리즘이 라이브러리의 일부로 제공하는 것이 아닙니다. 유효성 검사를 구현할 때 유용 할 수있는 프리즘은 IConfirmNavigationRequest interface이며 어떤 경우에는 탐색을 중지 할 수 있습니다 (예 : 페이지가 유효성 검사를 통과하지 못한 경우).

응용 프로그램에서 유효성 검사를 구현하려면 IDataErrorInfo interface (또는 .NET 4.5/Silverlight에서 INotifyDataErrorInfo)을 사용하는 것이 좋습니다.

편집

보기가 유효성 검사를 통과했는지 여부,이 정보를 반환합니다 당신의 ViewModel에 IsValid 속성을 노출해야합니다 알고합니다. 이렇게하는 한 가지 방법은 뷰 모델을 검사하고이 데이터를 반환하는 것입니다. 또 다른 방법은 Validation.AddErrorHandler을 사용하여 오류 이벤트에 ViewBase 등록하고보기 모델에 ViewModelBase.AddError()/ViewModelBase.RemoveError()을 호출하는 것입니다. 이렇게하면 뷰 모델이 유효성 검증 오류를 알고 뷰가 유효한지 여부를 쉽게 리턴 할 수 있습니다.

+0

네, 모델에 IDataErrorInfo를 구현하고 있지만 유효성 검사중인 일부 TextBoxes가있는 Window가 있습니다. 이제 사용자가 "저장"버튼을 클릭하면 텍스트 상자에 텍스트를 저장하기 위해 현재 유효성 검사 오류가 없는지 확인해야합니다. – Michelle

+0

@Michelle 업데이트 된 답변을 참조하십시오. –

+0

안녕하세요 @Lester 두 번째 방법을 사용 하겠지만 내 모델에서 AddError() 및 RemoveError()를 호출하는 방법을 모르겠습니다. 도와 줄수있으세요? – Michelle

관련 문제