# Form Validation in Razor and HTML5

The MDN page on Form Validation is an excellent resource for understanding client-side validation. Additionally, information on performing server-side validation using the Validation helper class can be found on this page.

At the end of this topic, you should be able to:

  • Distinquish between client-side and server-side validation
  • Identify the reasons we validate on the client-side
  • Identify the reasons we validate on the server-side
  • Explain the role of the required attribute on HTML5 form elements
  • Explain the role of the type attribute options in HTML5 in regards to validation of user input
  • Describe the kind of user input allowed for each of the various type attribute values in HTML5
  • Identify the additional attributes for <input> elements which work in conjuncture with specific type attribute values in HTML5
  • Explain the role of the placeholder attribute
  • Explain why client-side validation is never considered a "secure" kind of user-input validation
  • Identify how to perform server-side validation manually with C#
  • Identify how to integrate server-side validation and client-side validation through the use of the Validation helper class in Razor
  • Combine server-side and client-side validation in Razor web pages.