In this Video, I am going to discuss Required and StringLength Attribute in ASP.NET MVC Application with Examples. Please read the Introduction of Data Annotation Video before proceeding to this Video as we are going to use the same example that we created in our previous Video. In our previous Video, we discuss the basics of data annotation attributes in the ASP.NET MVC application and discussed how to enable client-side validation in ASP.NET MVC Application. So lets discuss the built-in Data Annotation Attributes that are available in ASP.NET MVC for model validation one by one.
What is Required and StringLength Attribute in MVC?. The Complete ASP.NET MVC Developer Course 2023 [Videos].
Required Attribute in ASP.NET MVC:
lets understand Required Attribute with one example. Our business requirement is that the First name and Last Name of an employee cant be empty. That means we will force the Employee to give the first name and last name; we can achieve this very easily in the ASP.NET MVC application by decorating the FirstName and LastName properties of the Employee Model with the Required data annotation attribute as shown below. The Required attribute makes the model property as required.
The Required attribute raises a validation error, if either the property value is null or empty. The built-in required validation attributes provide both client-side and server-side validation like other built-in validation attributes. When we submit the page without providing the FirstName and LastName of an employee, we will get the error message as shown in the below image.
With the required attributes in place, if someone tries to submit the page without providing the FirstName and LastName values, then it will give you the default error as shown in the above image. But if you want to provide some user-defined error message when validation fails, then you can use the other overloaded version of the Required attribute which accepts ErrorMessage as an input parameter as shown below.
With the above changes, if someone tries to submit the page without providing the FirstName and LastName values, then it will give the user-defined error message as shown in the below image.
StringLength Attribute in ASP.NET MVC
In our last example, we are forcing the user to enter his first name and last but what happens if he enters a name with enormous length? For example, our business requirement is that the employees LastName should not be greater than 30 characters that mean we need to set a maximum of 30 characters that can be entered for the employee the last name. We can achieve this very easily using the StringLength data annotation attribute in the ASP.NET MVC application. To achieve this we need to decorate the LastName property with the StringLength attribute as shown below.
When we run the application, and when we enter more than 30 characters in the LastName textbox, then we will get the below default error message:
Note: We can apply multiple validation attributes on a single property. The MinimumLength is an optional named parameter that is used to specify the minimum length for a string. We can also specify the user-defined error message as shown below. Here, we specify the minimum length as 4 and the ErrorMessage as the Last name should be between 4 and 30 characters.
In the above example, we have decorated the “LastName” property with the StringLength attribute and then specified the Minimum and Maximum length of the model properties. We also used the [Required] attribute. So, at this point, the LastName property is required and should be between 4 and 30 characters.
Points to remember about StringLength Attribute in MVC:
- [StringLength] attribute is present in System.ComponentModel.DataAnnotations namespace.
- [StringLength] attribute verifies that a string is of a certain length, but does not enforce that the property is REQUIRED. If you want to enforce that the property is required then use the [Required] attribute.
Now run the application and check everything is working as expected as shown below.