MemberInfo
属性を持つプロパティのオブジェクトを取得するには、リフレクションを使用する必要があります。それで、
// given memberInfo, controllerContext, and modelMetadata
// (see below on how to get metadata)
foreach (var attribute in memberInfo.GetCustomAttributes(typeof(ValidationAttribute), true)
{
var clientValidationAttribute = attribute as IClientValidatable;
if (clientValidationAttribute == null)
{
continue;
}
var clientValidationRules = clientValidationAttribute.GetClientValidationRules(modelMetadata, controllerContext);
// do something with the rules
}
モデルのメタデータを取得するには、次を呼び出すことができます
ModelMetadata.FromLambdaExpression(expression, viewData)
ビューデータが手元にある場合。ModelMetadataProvider を明示的に呼び出して取得することもできます。詳細が必要な場合はお知らせください。