Data annotations are used to perform client side and server side validations on a page.
It’s a mechanism, Atrrributeswe can use it to feed metadata into application and framework will display and render HTML markup.
Data Annotations are Attributes which are used to perform server-side validations as well as client side validations.
Data Attributes with Example.
1. Required
[Required]
public string UserName{get;set;}
2. StringLength
StringLength(20)
Public string Name{get;set;}
3. RegularExpression
RegularExpression(“.+@.+\\..+”,ErrorMessage=“Email format is not good”)
public string Email{get;set;}
4. Range
[Range(30,35)
Public int Age{get;set;}
5.Compare
Public string password{get;set;}
[Compare(“Password”,ErrorMessage=“Password and Compare Password should be same”)
Public string ConfirmPassword{get;set;}
For Source code and other tutorial Please visit
www.yogeshdotnet.com
using DataAnnotationHindi.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace DataAnnotationHindi.Controllers { public class HomeController : Controller { // GET: Home public ActionResult Index() { return View(); } [HttpPost] public ActionResult Index(Employee emp) { if (!string.IsNullOrEmpty(emp.username)) { return RedirectToAction("Message"); } else { ModelState.AddModelError("username", "UserName is Required"); return View(); } } public ActionResult Message() { return View(); } } }
@model DataAnnotationHindi.Models.Employee @{ ViewBag.Title = "Index"; } <h2>Index</h2> @using (Html.BeginForm()) { <p> @Html.TextBoxFor(m => m.username) @Html.ValidationMessageFor(m => m.username) </p> <input type="submit" name="btn" value="Save data" /> }
Server Side Validation using Data Annotations
using DataAnnotationHindi.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace DataAnnotationHindi.Controllers {@model DataAnnotationHindi.Models.Employee @{ ViewBag.Title = "Index"; } <h2>Index</h2> @using (Html.BeginForm()) { <p> @Html.LabelFor(m=>m.username) @Html.TextBoxFor(m => m.username) @Html.ValidationMessageFor(m => m.username) </p> <p> @Html.LabelFor(m => m.Email) @Html.TextBoxFor(m => m.Email) @Html.ValidationMessageFor(m => m.Email) </p> <p> @Html.LabelFor(m => m.Age) @Html.TextBoxFor(m => m.Age) @Html.ValidationMessageFor(m => m.Age) </p> <p> @Html.LabelFor(m => m.Password) @Html.PasswordFor(m => m.Password) @Html.ValidationMessageFor(m => m.Password) </p> <p> @Html.LabelFor(m => m.RePassword) @Html.PasswordFor(m => m.RePassword) @Html.ValidationMessageFor(m => m.RePassword) </p> <p> @Html.CheckBoxFor(m => m.Terms) Please select terms and conditions @Html.ValidationMessageFor(m => m.Terms) </p> <input type="submit" name="btn" value="Save data" /> }public class HomeController : Controller { // GET: Home public ActionResult Index() { return View(); } [HttpPost] public ActionResult Index(Employee emp) { if(ModelState.IsValid) { return RedirectToAction("Message"); } return View(); } public ActionResult Message() { return View(); } } }using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Web; namespace DataAnnotationHindi.Models { public class Employee { [Required(ErrorMessage ="Please Enter User Name")] [StringLength(30)] [Display(Name ="Enter User Name")] public string username { get; set; } [Required] [RegularExpression(".+@.+\\..+", ErrorMessage="Email format is not good")] [Display(Name = "Enter Email")] public string Email { get; set; } [Range(20,35)] [Required] public int Age { get; set; } [Required] public string Password { get; set; } [Required] [Compare("Password", ErrorMessage ="Password and Retype password must be same")] public string RePassword { get; set; } [validatecheckbox(ErrorMessage ="Please check Terms and Conditions")] public bool Terms { get; set; } public class validatecheckbox: RequiredAttribute { public override bool IsValid(object value) { return (bool)value; } } } }
Download
User Review
( votes)
I feel this is among the most important info for me. And i am glad studying your article.
But want to obhservation on some common things, The website taste is ideal, the articles is
in point of fact nice : D. Good process, cheers