【发布时间】:2011-06-03 14:28:21
【问题描述】:
我想知道是否可以为我的用户实体创建自定义验证。
我想验证用户名是否唯一。 如果用户已经存在,我不想保存它并显示警告。
我阅读了有关 Data Annotation 继承的信息,但我不确定自己在做什么。
请帮忙。
谢谢。
实体框架 4
ASP.NET MVC 2
【问题讨论】:
标签: asp.net-mvc-2 entity-framework-4 data-annotations
我想知道是否可以为我的用户实体创建自定义验证。
我想验证用户名是否唯一。 如果用户已经存在,我不想保存它并显示警告。
我阅读了有关 Data Annotation 继承的信息,但我不确定自己在做什么。
请帮忙。
谢谢。
实体框架 4
ASP.NET MVC 2
【问题讨论】:
标签: asp.net-mvc-2 entity-framework-4 data-annotations
是的,这是可能的,您可以创建自己的自定义属性类并验证实体。类似于这段代码的东西,
[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
【讨论】: