Introduction: In this article you will learn how to set the validation in an ASP.NET MVC application. In this program we simple display four fields, the name of the fields are Id, Name, Discreption, Prise. First we have to create the business logic in the models
folder. After that we send the request through a controller. Last, we define
the presentation logic. The ASP.NET MVC framework was created to support
pattern-based software development. In other
words, the framework was designed to make it easier to implement software design
principles and patterns when building web applications. ASP.NET MVC applications
are highly testable makes the ASP.NET MVC framework a great framework to use
when practicing test-driven development. ASP.NET MVC framework was designed to
its core to support unit tests.
Step 1 : Open Visual Studio 2010.
- Go to file -> New->Projects
- Create an ASP.NET MVC 2 Web Application
- Name is "sonal"
- Create a unit test


Step 2 : Add a class in the models folder.
- Right click on the Model folder ->add new items->add class
- Name of Class is "bhanu"
- In a class define the business logic


Step 3 : The class code is..
Code :
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.ComponentModel.DataAnnotations;
using
System.ComponentModel;
namespace
sonal.Models
{
public class Bhanu
{
public int
Id { get; set; }
[Required]
[StringLength(10)]
public string
Name { get; set;
}
[Required]
public string
Description { get; set;
}|
[DisplayName("Price")]
[Required]
[RegularExpression(@"^\$?\d+(\.(\d{2}))?$")]
public decimal
UnitPrice { get; set;
}
}
}
Step 4 : Add a controller.
- Right click on the Controllers folder ->add->Controllers.
- Name of Controllers is "Home".
- In a controller, define the request.

Step 5 : The controller code is:
Code :
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.Mvc;
using
sonal.Models;
namespace
sonal.Controllers
{
[HandleError]
public class HomeController :
Controller
{
public
ActionResult Index()
{
ViewData["Message"] =
"Welcome to ASP.NET MVC!";
return View();
}
public
ActionResult About()
{
return View();
}
public
ActionResult Create()
{
ViewData["Message"] =
"This is manish application";
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public
ActionResult Create([Bind(Exclude =
"Id")]Bhanu
productToCreate)
{
if (!ModelState.IsValid)
return View();
return RedirectToAction("Index");
}
}
}
Step 6 : Add the
second view.
- Name of view is "Create view"



Step 7 : The view code is:
Code :
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<sonal.Models.Bhanu>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Create
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2 style="background-color:
#FF66FF">Manish</h2>
<%
using (Html.BeginForm()) {%>
<%:
Html.ValidationSummary(true)
%>
<fieldset>
<legend style="background-color:
#FF9999">Fields</legend>
<div class="editor-label">
<%:
Html.LabelFor(model => model.Id) %>
</div>
<div class="editor-field">
<%:
Html.TextBoxFor(model => model.Id) %>
<%:
Html.ValidationMessageFor(model => model.Id) %>
</div>
<div class="editor-label">
<%:
Html.LabelFor(model => model.Name) %>
</div>
<div class="editor-field">
<%:
Html.TextBoxFor(model => model.Name) %>
<%:
Html.ValidationMessageFor(model => model.Name)
%>
</div>
<div class="editor-label">
<%:
Html.LabelFor(model => model.Description) %>
</div>
<div class="editor-field">
<%:
Html.TextBoxFor(model => model.Description) %>
<%:
Html.ValidationMessageFor(model => model.Description)
%>
</div>
<div class="editor-label">
<%:
Html.LabelFor(model => model.UnitPrice) %>
</div>
<div class="editor-field">
<%:
Html.TextBoxFor(model => model.UnitPrice) %>
<%:
Html.ValidationMessageFor(model => model.UnitPrice)
%>
</div>
<p style="background-color:
#FFFF00">
<input type="submit" value="Create" style="background-color:
#8080FF" />
</p>
</fieldset>
<% }
%>
<div>
<%:
Html.ActionLink("Back to List",
"Index") %>
</div>
</asp:Content>
Step 8 : Press crlt+f5 run the program.
Output :

