【问题标题】:How to Create a custom validation for my entities如何为我的实体创建自定义验证
【发布时间】:2011-06-03 14:28:21
【问题描述】:

我想知道是否可以为我的用户实体创建自定义验证。

我想验证用户名是否唯一。 如果用户已经存在,我不想保存它并显示警告。

我阅读了有关 Data Annotation 继承的信息,但我不确定自己在做什么。

请帮忙。

谢谢。

实体框架 4
ASP.NET MVC 2

【问题讨论】:

    标签: asp.net-mvc-2 entity-framework-4 data-annotations


    【解决方案1】:

    是的,这是可能的,您可以创建自己的自定义属性类并验证实体。类似于这段代码的东西,

        [AttributeUsage(AttributeTargets.Class)]
        public class DuplicateUserAttribute : ValidationAttribute
        {
        private const string _defaultErrorMessage = "user '{0}' Already exist";
    
        public DuplicateUserAttribute ()
            : base(_defaultErrorMessage)
        {
        }
    
        public override string FormatErrorMessage(string name)
        {
            return String.Format(CultureInfo.CurrentUICulture, ErrorMessageString);
    
        }
    
        public override bool IsValid(object value)
        {
            UserEntity NewUser = value as UserEntity;
            //Write here logic to validate the user is already exist in database like
            context.UserList.Where(u=>u.Name ==NewUser .UserName)
            return ;
        }
    }
    
    [DuplicateUser]
    Class User
    {
     …
    }
    

    还有更多关于CustomeAttribute

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      • 2021-12-19
      相关资源
      最近更新 更多