获取内置验证器的验证元数据

时间:2010-05-18 15:52:58

标签: c# asp.net-mvc validation metadata

如何获取内置验证属性的验证元数据?

我正在尝试在表单上实现字数/字符数,并允许剩余的数字。当我自己实现单词计数验证和元数据(将其添加到AdditionalValues中)时,我可以访问它,但是花了很多时间看我无法从StringLength属性中找到从哪里获得maximumLength。

1 个答案:

答案 0 :(得分:0)

没有内置方法可以从StringLength属性获取maxLength。

你必须使用反射手动找到它,例如:

foreach( var property in model.GetType() )
{
     var stringLengthAttr = property.GetCustomAttributes(typeof(StringLengthAttribute), false).FirstOrDefault() as StringLengthAttribute;

     if( stringLengthAttr != null )
         return stringLengthAttr.MaximumLength;

}