ASP.net MVC 属性验证

1. 建立Model

public class Order
    {
        [ScaffoldColumn(false)]
        public int OrderID { get; set; }
        [Required(ErrorMessage = "必须输入名字")]
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Email { get; set; }
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:C}")]
        public double Total { get; set; }
    }


[Required(ErrorMessage = "必须输入名字")] 是表明该字段为必输项,也可以使用其他的一些属性标签,甚至可以自定义

 

2. 在Controller中定义Action

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            Order o= new Order();
            o.OrderID = 1;
            o.FirstName = "George";
            o.LastName = "Guo";
            o.Email = "www@yyy.com";
            o.Total = 125;
            return View(o);
        }

        [HttpPost]
        public ActionResult Index(Order order)
        {
            if(ModelState.IsValid)
            {
                return RedirectToAction("About");
            }
            return View(order);
        }
    }


 

第一个没有参数的是默认显示时调用,带HTTPPOST标签的,是当form进行post提交的时候调用,在post的时候会看model是否是valid,如果是说明成功,否则返回到当前view,并传入当前invalid model。

 

3. 在前台页面中定义form

@using(Html.BeginForm("Index","Home",FormMethod.Post))
{
    @Html.EditorFor(m=>m.FirstName)
    @Html.ValidationMessageFor(m=>m.FirstName)
    
    <input type="hidden" name="OrderID" id="OrderID" value=@Model.OrderID />
    <input type="submit" value="submit" /> 
}

 

@Html.EditorFor(m=>m.FirstName) 为该对象字段生成TextBox标签并绑定数据

@Html.ValidationMessageFor(m=>m.FirstName),如果model为invalid则显示与之相关的错误消息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值