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();
}
我试过了,它返回到视图,但它保存了数据哦,我需要在更新之前把代码放进去。现在它开始工作了。谢谢