In this article we will see how to apply a required field validator from the server side in MVC.
- Create a MVC project from the "Empty" template.
- Right-click on "Models", select "Add" >>"Class…".
- Name the class as "Employee" and click on the "Add" button.
- In the employee class create employee properties like EmployeeId, FirstName, LastName and so on.
- Now add a controller. Right-click on "Controllers", select "Add" >> "Controller…".
- Select "MVC 5 Controller - Empty" to add an empty controller. Click on the "Add" button.
- Name the controller as in the following:
- Now add a view. Right-click on the "Index" action method and select "Add View…".
- Name the view "Index". Select "Empty (without model)" from the template. Click on the "Add" button.
- Now add two action result methods to the employee controller with the same name, one is for the HttpGet and the other is for the HttpPost. In the HttpPost "Create" method pass an Employee class object as parameter. When we press the submit button it will call this HttpPost method.
- To add a view for the "Create" method, right-click on the "Create" action result method and select "Add View…".
- Name the view "Create". Since we will show the create form of employee, select "Create from template". From the model class drop down, select "Employee" as the model. Click on the "Add" button.
- It will automatically create the view from the model.
- Add the "[Required]" attribute to the field that you want to make mandatory for insertion. The Required attribute requires the "System.ComponentModel.DataAnnotations" namespace.
- Now add two action result methods to the employee controller with the same name, one is for the HttpGet and the other one is for the HttpPost. In the HttpPost "Create" method pass an Employee class object as parameter. When we press the submit button it will call this HttpPost method.
- Run the project and call the "Create" action method of the Employee controller from the browser.
- Now do not fill in the form and press the "Create" button and you can see the error message against the fields where we set the "Required" attribute in the model.
Change Error Message
- In the model set the validation attribute "ErrorMessage", that sets an error message to associate with a validation control when validation fails. Here in our example we change it to "First Name cannot be blank."
- Run the project and call the "Create" action method of the Employee controller from the browser.
- Now do not fill in the form and press the "Create" button and you can see the changed error message.
Read Error Message from Resource File
- Right-click on the project, select "Add" >> "New Item…".
- Select "Resources File", provide an appropriate name and press the "Add" button.
- Set Resource Name and Value. Here we set "Value Can Not Be Blank" for "RequiredFieldMessage".
- Now in the model, set the validation attribute, in other words ErrorMessageResourceName and ErrorMessageResourceType as in the following:
- Run the project and call the "Create" action method of the Employee controller from the browser.
- Now do not fill in the form and press the "Create" button and you can see the message that we set in the resource file.
<< Client Side Required Field Validator Sample in MVC: Day 26