WPF IDataErrorInfo多字段验证

时间:2009-12-03 07:42:28

标签: wpf validation idataerrorinfo

将多个字段验证与IDataErrorInfo集成的好方法是什么?

假设我有一个包含3个文本框的对话框,用于输入ftp信息

  • URL
  • 用户名
  • 密码

我已将Required属性放在字段上(假设密码的普通TextBox)。

我在用户按“确定”时验证ftp连接。目前我会显示一个对话框,但如果我可以在ftp连接错误上触发验证错误样式,那就太好了。

我查看过Validation.MarkInvalid但不明白如何使用它。

var be = GetBindingExpression(xamlURLField);
Validation.MarkInvalid(be, new ValidationError(-- WhatValidationRuleToPutHere --, be, "Can't connect to ftp", null)

1 个答案:

答案 0 :(得分:1)

你在这里混淆了一点。验证用于验证基本级别的用户输入。进行一些后验证应该以不同的方式处理,并且通常比你想要在“验证”领域中包含的更复杂。当这样的事情变得困难时,通常有一个原因,这就是原因。

我会将尝试连接作为用户交互中的单独步骤并手动显示消息。