In ASP.net MVC 2 Beta, DataAnnontation supports for validation . While creating model you can give attribute that use to support validation.
public class Student
{
[Required(ErrorMessage="Firstname is required field.")]
[DisplayName("User name")]
public string FirstName { get; set; }
[Required(ErrorMessage = "Email is required field.")]
[DisplayName("Email address")]
public string Email { get; set; }
[Required(ErrorMessage = "Fees is required field.")]
[DisplayName("Fees")]
public double Fees { get; set; }
}
Now use this model class to create view.
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcApplication12.Models.Student>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
ViewPage2
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script src="/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<h2>ViewPage2</h2>
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) {%>
<fieldset>
<legend>Fields</legend>
<p>
<%= Html.LabelFor(model => model.FirstName) %>
<%= Html.TextBoxFor(model => model.FirstName) %>
<%= Html.ValidationMessageFor(model => model.FirstName) %>
</p>
<p>
<%= Html.LabelFor(model => model.Email) %>
<%= Html.TextBoxFor(model => model.Email) %>
<%= Html.ValidationMessageFor(model => model.Email) %>
</p>
<p>
<%= Html.LabelFor(model => model.Fees) %>
<%= Html.TextBoxFor(model => model.Fees) %>
<%= Html.ValidationMessageFor(model => model.Fees) %>
</p>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
<div>
<%=Html.ActionLink("Back to List", "Index") %>
</div>
</asp:Content>
To enable client side validation need to add javascript and <% Html.EnableClientValidation(); %>.
Let me know your comment on this.
1 comment:
Yeah, MVC 2.0 Validation with Data Annotation is really cool. But what if I need to add some rules manually? A done some research in MVC 2.0 beta source code, and saw that it is possible: : MVC 2.0 Client validation exposed
Post a Comment