我想知道是否可以为我的用户实体创建自定义验证。
我想验证用户名是否唯一。 如果用户已经存在,我不想保存并显示警告。
我读到有关数据注释的继承,但我不确定我在做什么。
请帮忙。
感谢。
实体框架4 Asp.net MVC 2
答案 0 :(得分: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
{
…
}
还有更多内容