【发布时间】:2013-11-07 10:05:43
【问题描述】:
我想创建自定义客户端验证器,但我想通过业务逻辑层的数据注释属性定义验证规则。如何在运行时访问模型验证属性?
我想写“生成器”,它将转换这段代码:
public class LoginModel
{
[Required]
[MinLength(3)]
public string UserName { get; set; }
[Required]
public string Password { get; set; }
}
进入这个:
var loginViewModel= {
UserName: ko.observable().extend({ minLength: 3, required: true }),
Password: ko.observable().extend({ required: true })
};
但当然不是来自 .cs 源。 =)
也许是反思?
UPD
我找到了这个方法:MSDN。但是不明白怎么用。
【问题讨论】:
-
是的,反射。还有什么?
-
反射始终是一种选择,但是您有什么特别的原因要避免从源头上这样做吗? T4 + EnvDTE 在这里似乎是一个不错的选择。
-
@HenkHolterman 我已经阅读了 mvc 源码,发现了这个方法:msdn.microsoft.com/en-us/library/… 但不明白如何使用它。也许有人有比反思更好的主意? =)
标签: c# asp.net asp.net-mvc data-annotations validationattribute