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

C# 获取内置验证器的验证元数据,c#,asp.net-mvc,validation,metadata,C#,Asp.net Mvc,Validation,Metadata,如何获取内置验证属性的验证元数据 我试图在一个表单上实现一个单词计数/字符计数,给出允许的剩余数字。当我自己实现字数验证和元数据(将其添加到附加值中)时,我可以访问这个fine,但是花了很长时间寻找,我找不到从StringLength属性获取maximumLength的位置。没有内置的方法从StringLength属性获取maxLength 您必须使用反射手动查找,例如: foreach( var property in model.GetType() ) { var stringLe

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


我试图在一个表单上实现一个单词计数/字符计数,给出允许的剩余数字。当我自己实现字数验证和元数据(将其添加到附加值中)时,我可以访问这个fine,但是花了很长时间寻找,我找不到从StringLength属性获取maximumLength的位置。

没有内置的方法从StringLength属性获取maxLength

您必须使用反射手动查找,例如:

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

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

}