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 :