没有注释的MVC 3客户端验证?

时间:2011-03-22 14:03:28

标签: asp.net-mvc-3

有没有办法在MVC 3中进行相同类型的客户端验证而无法在viewmodel级别设置验证? 我有两个要求阻止我在viewmodel级别添加我的验证。我希望能够进行相同类型的“内置”验证,但不需要更改视图模型或控制器代码。我希望能够在部署后的视图级别更改,打开/关闭验证。理想情况下,我希望能够编辑视图标记,而无需编写和维护我自己的JavaScript。

2 个答案:

答案 0 :(得分:0)

您可以创建自己的TypeDescriptionProvider,它允许在运行时扩充您的viewmodel。

基于this代码示例(XmlMetadataTypeDescriptor,XmlMetadataTypeDescriptionProvider),您应该能够:

  1. 使用包含验证属性的外部xml扩充viewmodel。
  2. 使用

    启用验证

    TypeDescriptor.AddProvider

  3. 并将其关闭:

    TypeDescriptor.RemoveProvider

  4. <强>更新

    有关详情,请阅读精彩文章:"Understanding the TypeDescriptor: A Metadata Engine for Designtime Code"

答案 1 :(得分:0)

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

这可能对你有帮助,只对客户进行验证,尽管不是很理想。