asp.net - 是否有用于复杂 aspnet UI 验证的设计模式?

标签 asp.net validation

例如,假设我有一个具有 100 个属性的域对象。在我的 UI 中,我需要对样式进行复杂的验证:

  • 如果 A = 1,则显示控件 B、C、D。B 是必需的,C 不是必需的,如果填充了,则不需要 D 必须小于 30。
  • 如果 A = 2,则显示控件 B、D、E。B 不是必需的,D 是必需的但没有限制,E 不是必需的。
  • 如果 A = 3,则显示控件 B、E、F。B 是必需的并且必须大于 10,E 是必需的,F 不是必需的。
  • 如果 B = 3 且 F = 5,则显示控制 G,但仅当 A = 3 时。

  • 你可以在这里看到我的问题。属性之间的关系极其复杂,验证的变化取决于早期的值以及与其他值的组合。

    过去人们是如何建模和处理这个问题的?验证不需要非常频繁,但基于 config/xml 的解决方案可能是最好的。

    最佳答案

    您可以将这个巨大的域对象投影到仅包含所需属性子集的较小对象中,并根据它们所描述的场景命名它们。如果您愿意,它正在创建某种 ViewModel。

    对于 A = "X"或 B = "Y"等的每种情况,必须有一个特定的用例。如果您将事情分开,您可以为每个 ViewModel 定义验证规则。这些 ViewModel 还可以包含控件的可见/隐藏设置。

    关于asp.net - 是否有用于复杂 aspnet UI 验证的设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3080822/

    相关文章:

    没有列名的javascript序列化

    javascript - 使用 "Hidden Form"验证电子邮件?

    javascript - javascript中的手机或电话号码验证

    java - 验证 Postscript 而不尝试打印它?

    java - 如何向 JOptionPane 中的多个文本字段添加验证?

    jquery - 使用 jQuery jsonp 跨域调用 ASP.NET Web 服务

    jquery - 为什么 Microsoft 决定支持 jQuery 如此重要?

    c# - 如何解密字符串

    asp.net - 如何判断 IIS 中哪些页面没有被访问?

    java - JSON 字符串使用多个类进行验证