是否有复杂的aspnet UI验证的设计模式?

Cra*_*aig 5 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时.

你可以在这里看到我的问题.属性之间的关系非常复杂,验证更改取决于先前的值并与其他值组合.

人们过去如何模仿和处理这个问题?验证不需要经常进行,但基于配置/ xml的解决方案可能是最好的.

Zeb*_*ebi 1

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

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