码迷,mamicode.com
首页 > Web开发 > 详细

MVC学习Day02之校验

时间:2015-10-27 17:40:35      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

MVC校验有两种方法:

方法一:自己动手写js---------略

方法二:

l在View的页面中,首先指定页面强类型@model 类型
l使用Html.***For(model=>model.Property)生成表单,这些表单元素中就会包含校验规则属性
l引用jquery、jquery校验、jquery隐式校验3个组件
l通过Html.EnableClientValidation(true);控制客户端验证的启用与禁用(mvc3中自动开启)
l使用Html.ValidationMessageFor(…)显示校验信息,也可以使用Html.ValidationSummary()统一显示
l点击提交按钮转到后台Action,使用ModelState.IsValid判断前台验证是否成功,如果返回true表示验证成功
 

准备工作----导入三个必备的js包

<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>

验证方式:

在Model中创建类型,用于在View中作为强类型页面的类型
.NET 框架中System.ComponentModel.DataAnnotations命名空间包括了众多可用的内置验证特性,用于修饰属性,常用的四个如下:
•[Required]--非空验证
•[StringLength]---字符长度验证
•[Range]--范围验证
•[RegularExpression]--正则表达式验证
•属性ErrorMessage:指定错误提示信息
注:提示信息要在实体类中的属性中写
例题:
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Person</title>
    <script src="~/Scripts/jquery-1.7.1.min.js"></script>
    <script src="~/Scripts/jquery.validate.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
</head>
<body>
    <div>
        @using (Html.BeginForm("Index", "Home", FormMethod.Post))
        { 
            @:姓名:@Html.TextBoxFor(p=>p.Name)
        @Html.ValidationMessageFor(p=>p.Name)//一定记住绑定确认信息,要不然不显示,建议在文本框之后写,这样提示信息也会在文本框之后显示
        <br />
            @:年龄:@Html.TextBoxFor(p=>p.Age)
            @Html.ValidationMessageFor(p=>p.Age)
        <br />
            <input type="submit" />
        }
    </div>
</body>

实体类中也要绑定好属性--一般在属性之上写

public class Person
    {
        [Required(ErrorMessage="<span style=‘color:red‘>*姓名不能为空</span>")]
        [StringLength(6, ErrorMessage = "<span style=‘color:red‘>名字长度不能超过六位</span>")]
        public string Name { get; set; }
        [Required(ErrorMessage = "<span style=‘color:red‘>*年龄不能为空</span>")]
        [Range(18, 160,  ErrorMessage = "<span style=‘color:red‘>*年龄需在18-160之间</span>")]
        public int Age { get; set; }
    }

 

 
 

MVC学习Day02之校验

标签:

原文地址:http://www.cnblogs.com/gchlcc/p/4914539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!