Когда я редактирую данные из моей таблицы данных, я хочу, чтобы электронная почта была действительной электронной почтой, поэтому я должен добавить подтверждение ошибки, когда пользователь вставил неверный формат электронной почты.
В моем контроллере я поместил код, чтобы сделать это, поэтому, когда пользователь нажимает сохранить, отображается ошибка, но при отображении ошибки данные сохраняются и должны сохраняться только при правильном формате.
Я не знаю, как заставить это работать. Я должен использовать регулярные выражения. Также мое регулярное выражение для проверки электронной почты не очень эффективно
Мой код:
[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 ();
}