栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

定制验证属性,用于将我的属性的值与模型类中另一个属性的值进行比较

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

定制验证属性,用于将我的属性的值与模型类中另一个属性的值进行比较

这是获取其他属性值的方法:

public class CustomAttribute : ValidationAttribute{    private readonly string _other;    public CustomAttribute(string other)    {        _other = other;    }    protected override ValidationResult IsValid(object value, ValidationContext validationContext)    {        var property = validationContext.ObjectType.GetProperty(_other);        if (property == null)        { return new ValidationResult(     string.Format("Unknown property: {0}", _other) );        }        var otherValue = property.GetValue(validationContext.ObjectInstance, null);        // at this stage you have "value" and "otherValue" pointing        // to the value of the property on which this attribute        // is applied and the value of the other property respectively        // => you could do some checks        if (!object.Equals(value, otherValue))        { // here we are verifying whether the 2 values are equal // but you could do any custom validation you like return new ValidationResult(this.FormatErrorMessage(validationContext.DisplayName));        }        return null;    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573299.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号