EmailAddress Validator in ASP.NET MVC: A Tutorial with Code Examples. Email addresses are an essential aspect of modern communication, and it's crucial to validate them to ensure that the users of an application are providing valid email addresses. In .NET MVC, data annotations provide a way to validate user input and ensure that the email addresses entered are valid. In this blog post, we'll go over the EmailAddress data annotation in .NET MVC and see how we can use it to validate email addresses.
The EmailAddress data annotation in .NET MVC is used to validate email addresses entered by users. This annotation checks if the input is in the correct format of an email address, including the presence of an @ symbol and a valid domain name. If the input is not in the correct format, the validation will fail, and an error message will be displayed to the user.
Here is an example of using the EmailAddress data annotation in .NET MVC:
public class EmailModel
{
[Required]
[Display(Name = "Email")]
[EmailAddress]
public string Email { get; set; }
}
In the above code, we have created a model called
EmailModel
with a single property,
Email
. The
Required
attribute is used to indicate that the
Email
property is required and cannot be left blank. The
Display
attribute is used to specify the display name for the property, and the
EmailAddress
attribute is used to validate the email address entered by the user.
Next, we'll create a view for the
EmailModel
that allows users to enter their email addresses:
@model EmailModel
@Html.TextBoxFor(x => x.Email, new { @class = "form-control" })
@Html.ValidationMessageFor(x => x.Email, "", new { @class = "text-danger" })
In the above code, we've created a view that allows users to enter their email addresses and displays error message if validation fails.
Enable client side validation, you can check this:
Enable client side validation in ASP.NET MVC
Finally, we'll create a controller to handle the user's input and validate the email address:
public class HomeController : Controller
{
[HttpGet]
public IActionResult Email()
{
return View();
}
[HttpPost]
public IActionResult Email(EmailModel model)
{
if (ModelState.IsValid)
{
// email address is valid, do something with it
return View("Success");
}
return View(model);
}
}
In the above code, we've created a
HomeController
with two actions:
Email
and
Email (EmailModel model)
. The
HttpGet
action returns the view that allows users to enter their email addresses, and the
HttpPost
action is used to handle the user's input and validate the email address. If the
ModelState
is valid, it means that the email address entered by the user is valid, and we can do something with it. If the
ModelState
is not valid, it means that the email address entered by the user is not valid, and we return the view along with the model