Forms Validation

Level : Intermediate
Mentor: Shailendra Chauhan
Duration : 00:02:00

Data Validation

Data validation is a crucial process in ASP.NET Core that ensures the integrity and accuracy of user input, preventing potentially harmful or incorrect data from entering the application.


using System;
using System.ComponentModel.DataAnnotations;
public class User
  public string Username { get; set; }
  public string Email { get; set; }
var user = new User { Username = "JohnDoe", Email = "invalid-email" };
var context = new ValidationContext(user, serviceProvider: null, items: null);
var results = new List<ValidationResult>();
var isValid = Validator.TryValidateObject(user, context, results, true);

Need for Server-side and Client-side Validations

Server-side validation ensures data integrity and security on the server, protecting the application from malicious or erroneous input. Client-side validation enhances the user experience by providing instant feedback without the need to submit data to the server.

Creating Forms Using Tag Helpers

Tag Helpers in ASP.NET Core simplify the creation of HTML forms. They provide a more expressive and intuitive way to define form elements and their properties, reducing code complexity.


<form asp-action="Submit" method="post">
  <input asp-for="Username" />
  <span asp-validation-for="Username"></span>
  <button type="submit">Submit</button>

Server Side Validation

Server-side validation is the process of validating data on the server before processing it, ensuring that input meets business logic and security requirements.

Client Side Validation

Client-side validation involves validating user input on the client's browser, offering immediate feedback and reducing the need to submit data to the server for validation.

Custom Validation

Custom validation allows developers to define their validation rules tailored to the specific needs of the application, offering flexibility in enforcing data constraints.

Validation Attributes

Validation attributes in ASP.NET Core, such as Required, StringLength, Compare, EmailAddress, Phone, CreditCard, Range, Url, and RegularExpression, provide predefined rules for common data validation scenarios, simplifying the validation process.


public class Product
  [StringLength(50, MinimumLength = 3)]
  public string Name { get; set; }
var product = new Product { Name = "A" };
var context = new ValidationContext(product, serviceProvider: null, items: null);
var results = new List<ValidationResult>();
var isValid = Validator.TryValidateObject(product, context, results, true);

Custom server-side validation

Custom server-side validation allows developers to create their validation logic by implementing the IValidatableObject interface, providing fine-grained control over data validation.

Custom Client Side Validation

Custom client-side validation extends the default client-side validation behavior by adding custom JavaScript logic to validate user input in the browser, enhancing the user experience.
Self-paced Membership
  • 22+ Video Courses
  • 800+ Hands-On Labs
  • 400+ Quick Notes
  • 55+ Skill Tests
  • 45+ Interview Q&A Courses
  • 10+ Real-world Projects
  • Career Coaching Sessions
  • Email Support
Upto 60% OFF
Know More
Still have some questions? Let's discuss.
Accept cookies & close this