【问题标题】:How to validate against a variable set of value ranges?如何针对一组可变的值范围进行验证?
【发布时间】:2012-05-01 02:33:57
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# wpf oop validation


    【解决方案1】:

    可以XML 中完成,这是一种声明式编程,在XML 中你定义了一种行为。但它并不灵活,您可以轻松地跳入相当复杂的场景。

    我个人更愿意做的是维护代码内部的逻辑,但是必须检查源 XML 中的数据的参数范围,以针对存储在一些 MatchData.xml 中。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多