1

我正在使用 Prism 4 和 WPF 做一个应用程序,我有一些输入验证,它按预期工作,但是当用户单击一个按钮时,我需要在那一刻知道是否存在验证错误。

Prism4 是否已经实施了一些措施来处理这个问题,或者我必须手动实施它?

4

1 回答 1

2

处理验证错误不是 Prism 作为库的一部分提供的。prism 确实提供了在实现验证时有用的是IConfirmNavigationRequest界面,它使您能够在某些情况下停止导航 - 例如当页面未通过验证时。

要在您的应用程序中实现验证,我建议使用该IDataErrorInfo接口(或INotifyDataErrorInfo在 .NET 4.5/Silverlight 中)。

编辑

要知道您的视图是否通过了验证,您需要在视图模型中公开一个IsValid将返回此信息的属性。一种方法是检查视图模型并返回此数据;另一种方法是让您ViewBase使用 , 注册其错误事件,并在您的视图模型上Validation.AddErrorHandler调用ViewModelBase.AddError()/ 。ViewModelBase.RemoveError()这样,您的视图模型就知道验证错误,并且可以轻松地返回视图是否有效。

于 2012-07-24T20:00:48.070 回答