C# 不同操作的不同验证规则
我有一个表单,上面有3个按钮:保存、批准和拒绝 现在,我需要根据所单击的按钮,以不同的方式验证用户的输入。 例如,即使大多数字段为空,用户也应该能够保存对象,但为了批准,某些字段是必需的 一种方法是将验证置于CanSave和CanApprove方法(按钮绑定到ViewModel中的ICommand)。这里的问题是按钮被禁用,但没有指示需要填充哪些字段才能启用特定的按钮C# 不同操作的不同验证规则,c#,wpf,validation,mvvm,C#,Wpf,Validation,Mvvm,我有一个表单,上面有3个按钮:保存、批准和拒绝 现在,我需要根据所单击的按钮,以不同的方式验证用户的输入。 例如,即使大多数字段为空,用户也应该能够保存对象,但为了批准,某些字段是必需的 一种方法是将验证置于CanSave和CanApprove方法(按钮绑定到ViewModel中的ICommand)。这里的问题是按钮被禁用,但没有指示需要填充哪些字段才能启用特定的按钮 理想情况下,应始终启用所有按钮,并在单击按钮时执行验证。但如何从VM中将字段标记为无效 尝试在类上添加类似于LastStateV
理想情况下,应始终启用所有按钮,并在单击按钮时执行验证。但如何从VM中将字段标记为无效 尝试在类上添加类似于
LastStateValidated
属性的内容,并将IDataErrorInfo
验证基于该值
这意味着第一次加载表单时,无论对象的状态如何,显示的验证将仅为有效的验证
当您尝试执行命令时,状态会发生变化,这将使
IDataErrorInfo
以不同的方式进行验证,因此,根据用户尝试执行的最后一个操作,将显示不同的验证错误。到目前为止,您是否有编写或尝试过的代码?。非常感谢您提供了简单而优雅的解决方案:)