获取他人财产的价值我想从自定义验证属性的GetClientValidationRules
方法中获得他人财产的价值。从ModelMetaData
这是我尝试(基于Darin's response另一个问题):
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(
ModelMetadata metadata, ControllerContext context)
{
var parentType = metadata.ContainerType;
var parentMetaData = ModelMetadataProviders.Current
.GetMetadataForType(null, parentType);
var parentMetaData = ModelMetadataProviders.Current
.GetMetadataForProperties(context.Controller.ViewData.Model, parentType);
var otherProperty = parentMetaData.FirstOrDefault(p =>
p.PropertyName == "SomeProperty");
var otherValue = otherProperty.Model;
var rule = new ModelClientValidationRule
{
ValidationType = "customvalidatorattribute",
ErrorMessage = this.FormatErrorMessage(metadata.GetDisplayName()),
};
yield return rule;
}
然而,试图设置otherValue
的时候,我得到:
System.Reflection.TargetException:对象不匹配目标类型。
你是如何得到这件事情解决。我有同样的问题,有什么建议吗? – TechnicalSmile
嗨,你有什么机会解决这个问题吗?我有同样的问题吗? – duongthaiha