精通ASP.NET MVC ——模型验证

文章内容较长,用于记录自己学习。模型验证(Model Vaildation)是确保应用程序所接受的数据适合于绑定到模型,并且在不合适时给用户提供有用的信息,以帮助他们修正问题的过程。

准备示例项目 

新建一个空的MVC项目,名叫ModelVaildation

Model文件夹中,新建一个Appointment.cs的文件,如下图所示:

    public class Appointment
    {
        public string ClientName { get; set; }

        [DataType(DataType.Date)]
        public DateTime Date { get; set; }
        public bool TermsAccepted { get; set; }
    }

创建一个Home控制器,代码如下图所示:

    public class HomeController : Controller
    {
        // GET: Home
        public ViewResult MakeBooking()
        {
            return View(new Appointment { Date = DateTime.Now});
        }

        [HttpPost]
        public ViewResult MakeBooking(Appointment appt)
        {
            //在实际项目中,此处是在数据库中存储新的Appointment对象
            return View("Completed", appt);
        }
    }

创建布局页_Layout.cshtml,代码如下图所示:

<!DOCTYPE html>

<html>
<head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
    <style type="text/css">
        .field-validation-error {
            color:#f00;
        }
        .validation-summary-errors {
            color:#f00; font-weight:bold;
        }
        .input-validation-error {
            border:2px solid #f00; background-color :#fee;
        }
        input[type="checkbox"].input-validation-error {
            outline:2px solid #f00;
        }
    </style>
</head>
<body>
    <div>
        @RenderBody()
    </div>
</body>
</html>

创建一个视图启动文件_ViewStart.cshtml,以便布局页运用于视图,如下图所示:

@{ 
    Layout = "~/Views/Shared/_Layout.cshtml";
}

创建MakeBooking.cshtml视图,代码如下图所示: 

@model ModelVaildation.Models.Appointment
<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>MakeBooking</title>
</head>
<body>
<h4>Book an Appointment</h4>
    @using (Html.BeginForm()) {
        <p>Your Name : @Html.EditorFor(m => m.ClientName)</p>
        <p>Appointment Date: @Html.EditorFor(m => m.Date)</p>
        <p>@Html.EditorFor(m => m.TermsAccepted)</p>
        <input type="submit" value="Make Booking"/>
    }
</body>
</html>

创建Completed.cshtml文件,代码如如下图所示: 

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Completed</title>
</head>
<body>
<h4> Your Name is confirmed</h4>
    <p> Your Name :<b>@Html.EditorFor(m => m.ClientName)</b></p>
    <p> The data of your appointment is :<b>@Html.DisplayFor(m => m.Date)</b></p>
</body>
</html>

运行程序并导航到/Home/MakeBooking ,输入文本数据,如下图所示:

            

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值