Asp.net mvc 使用正则表达式的电子邮件验证不起作用。ASP:NET MVC#Visual Studio 2017

Asp.net mvc 使用正则表达式的电子邮件验证不起作用。ASP:NET MVC#Visual Studio 2017,asp.net-mvc,visual-studio,validation,datatables,popup,Asp.net Mvc,Visual Studio,Validation,Datatables,Popup,当我编辑数据表中的数据时,我希望电子邮件是有效的电子邮件,因此当用户插入无效的电子邮件格式时,我必须进行错误验证 在我的控制器中,当用户单击“保存”时,会显示错误,但当显示错误时,会保存数据,只有在格式正确时才能保存 我不知道该怎么做。我必须用正则表达式。另外,我的定期邮件验证不是很有效 我的代码: [HttpPost] [ValidateAntiForgeryToken] public ActionResult EditData(ModelTemplateEmail mod

当我编辑数据表中的数据时,我希望电子邮件是有效的电子邮件,因此当用户插入无效的电子邮件格式时,我必须进行错误验证

  • 在我的控制器中,当用户单击“保存”时,会显示错误,但当显示错误时,会保存数据,只有在格式正确时才能保存

  • 我不知道该怎么做。我必须用正则表达式。另外,我的定期邮件验证不是很有效

    我的代码:

     [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult EditData(ModelTemplateEmail modelEmail)
        {
            UpdateEmail(modelEmail.EmailId, modelEmail.userName, modelEmail.Title, 
                           modelEmail.Email,modelEmail.description, modelEmail.languageID);
    
    
            if (string.IsNullOrEmpty(modelEmail.userName))
            {
                ModelState.AddModelError("UserName", "Please enter a user name");
    
            }
    
            else if (modelEmail.userName.Length > 20)
            {
                ModelState.AddModelError("UserName", "Please enter less than 20 characters");
            }
    
    
    
            if (string.IsNullOrEmpty(modelEmail.Email))
            {
                ModelState.AddModelError("Email", "Please enter an Email");
            }
            else if (!Regex.Match(modelEmail.Email, @"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$").Success)
            {
                MessageBox.Show("Please enter a valid email", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    
    
            }
    
    
            if (ModelState.IsValid)
            {         
                return RedirectToAction("EmailData");
            };
            MainLanguagelist();
    
            return View ();
    
        }
    

    每当验证失败时,如果引发“添加错误”,则应返回视图以返回显示错误消息的视图

    if (string.IsNullOrEmpty(modelEmail.Email))
    {
        ModelState.AddModelError("Email", "Please enter an Email");
        return View();
    }
    else if (!Regex.Match(modelEmail.Email, @"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$").Success)
    {
        ModelState.AddModelError("Email", "Please enter a valid email");
        return View();
    }
    

    我试过了,它返回到视图,但它保存了数据哦,我需要在更新之前把代码放进去。现在它开始工作了。谢谢