如何验证一组可变的值范围?

时间:2012-04-19 14:36:20

标签: c# wpf oop validation

我目前正在开发一个允许用户读取和配置设备的应用程序。配置存储为XML。

我面临的问题是如何为应用程序定义验证。例如,我存储在XML文件中的大多数值必须在不同的范围内,例如, 0 - 2,1 - 50,10个字符或20个字符等

我必须验证很多这些约束,并且我不想对范围进行硬编码,因为当设备的第2版出来时,配置文件将具有不同的范围集。例如。而不是0 - 2,它将是0 - 4而不是20个字符,现在允许40。

我该如何处理?我应该将验证规则存储在单独的XML文件中吗?我是否应该为此设备定义具有硬编码配置范围的类,并为具有其配置范围的设备版本2创建新类?

2 个答案:

答案 0 :(得分:0)

可以在XML中完成,这是一种声明式编程,在XML中定义一个行为。但它不灵活,你很容易陷入相当复杂的风格。

我个人更喜欢做的是维护代码中的逻辑,但参数的范围是必须在某些MatchData.xml中检查源XML中的数据。

希望这有帮助。

答案 1 :(得分:0)

在这种情况下,我几乎总是喜欢外部配置文件。您可以定义执行验证的对象(验证器)。当实例化validater对象时,它实例化包含各种验证项的所有范围的验证规则对象。我会使用XML文件序列化/反序列化此对象,该文件将包含在您的应用程序分发中。