zoukankan      html  css  js  c++  java
  • 自定义验证(判断两个值同时唯一)

    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.Globalization;
    using System.Linq;
    using System.Runtime.CompilerServices;
    using System.Web;
    using BLL.BLL;
    
    namespace www.nabian.com.Models
    {
        public class NameAndBearchValidation : ValidationAttribute
        {
            RegisterManagerBLL manager = new RegisterManagerBLL();
            public string OtherProperty { get; set; }
            public string OtherPropertyDisplayName
            {
                [CompilerGenerated]
                get
                {
                    return OtherPropertyDisplayName;
                }
                [CompilerGenerated]
                internal set
                {
                }
            }
            public override bool RequiresValidationContext
            {
                get
                {
                    return RequiresValidationContext;
                }
            }
            public NameAndBearchValidation(string otherProperty)
            {
                if (otherProperty == null)
                    throw new ArgumentNullException("otherProperty");
    
                OtherProperty = otherProperty;
            }
            protected override ValidationResult IsValid(object value, ValidationContext validationContext)
            {
                var property = validationContext.ObjectType.GetProperty(OtherProperty);
                var other = property.GetValue(validationContext.ObjectInstance, null);
                if (manager.QueryComName(value.ToString()) <= 0 && manager.QueryComName(other.ToString(), value.ToString()) <= 0)
                {
                    return ValidationResult.Success;
                }
                return ValidationResult.Success;
            }
        }
    }
    

      测试

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using www.nabian.com.Models;
    
    namespace www.nabian.com.ViewsModels
    {
        public class textModel
        {
            [NameAndBearchValidation("comName", ErrorMessage = "两个属性不唯一")]
            public string name { get; set; }
    
            public string comName { get; set; }
        }
    }
    

      

  • 相关阅读:
    c# 集合运算
    Nuxt
    引入js,不共享变量
    sourcetree将存在的本地项目提交到远程仓库
    c#DateTime与unix时间戳互相转换
    IfcBoundingBox
    IfcBooleanResult
    IfcAnnotationFillArea
    IfcGeometricRepresentationItem
    IfcRepresentationItem
  • 原文地址:https://www.cnblogs.com/liuchang/p/4514860.html
Copyright © 2011-2022 走看看