2011-01-04 5 views
0

Я хотел бы знать, можно ли создать пользовательскую проверку для моего пользователя.Как создать пользовательскую проверку для моих объектов

Я хочу проверить, является ли имя пользователя уникальным. Если пользователь уже существует, я не хочу его сохранять и показывать предупреждение.

Я читал о Data Annotation, но я не уверен, что я делаю.

Пожалуйста, помогите.

Спасибо.

Entity Framework 4-
Asp.net MVC 2

ответ

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

+0

Nice, то будет работать очень здорово. –

+0

Thats Great. ;) – paragy

Смежные вопросы