在get方法中调用MVC Validator

时间:2014-05-23 11:15:39

标签: asp.net-mvc asp.net-mvc-4 validation data-annotations

在我的Controllor中,在get方法中,我使用来自querystrings的elment创建了我的viewModel。 我需要在MyViewModel中验证电子邮件,如何调用我的验证器[EmailValidator] ??

 public ActionResult Index(string countryCode)
    {
        var loginViewModel = _loginViewModelFactory.GetLoginViewModel();
        if (**ifvalid(loginViewModel.Mail**))
        {
            _loginViewModelFactory.mail=string.empty;
        }
        return View(loginViewModel);
    }

这是我的模特:

  public class LoginViewModel
    {
        [MailValidator]
        public string Mail { get; set; }
        public string Password { get; set; }
}

1 个答案:

答案 0 :(得分:0)

试试这个

public ActionResult Index(string countryCode)
{
    var loginViewModel = _loginViewModelFactory.GetLoginViewModel();
    ModelState.Clear();
    TryValidateModel(loginViewModel)
    if (ModelState["Mail"].Errors.Any())
    {
        _loginViewModelFactory.mail=string.empty;
    }
    return View(loginViewModel);
}