Creating custom data annotation validation in MVC 3

前端 未结 4 955
说谎
说谎 2020-12-16 05:15

For instance, I have an Employee view model. When creating an employee, I want to validate the username to make sure it doesn\'t exist.

public class Employee         


        
4条回答
  •  醉酒成梦
    2020-12-16 05:19

    I would suggest looking at remote validation. The example even matches your case.

    Basically, add the remote attribute to your viewmodel property that points to a controller action

    [Remote("IsUserExists", "Account", ErrorMessage = "Can't add what already exists!")]
    [Required(ErrorMessage = "Username is required")]
    [DisplayName("Username")]
    public string Username { get; set; }
    

    which does your work

    public ActionResult IsUserExists(string userName) 
    {
     if (!UserService.UserNameExists(userName) || (CurrentUser.UserName == userName))
     {
          return "Ok.";
     }
    }
    

提交回复
热议问题