zoukankan      html  css  js  c++  java
  • MVC学习Day02之校验

    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; }
        }
     
     
  • 相关阅读:
    C# 实现从程序集中抽取内嵌资源文件
    git clone 显著提速,解决Github代码拉取速度缓慢问题
    C# 将List数据 导出到csv 文件
    Nginx的location匹配规则-根据url 路径重定向到不同的IP
    WinForm最小化到托盘以及托盘右键菜单
    安卓手机浏览器调试-Debug模式
    C#-Forms.Timer、Timers.Timer、Threading.Timer的比较和使用
    批处理实现批量创建快捷方式
    设计模式(六)装饰模式(转)
    设计模式(五)桥接模式(转)
  • 原文地址:https://www.cnblogs.com/gchlcc/p/4914539.html
Copyright © 2011-2022 走看看