• MVC自带的校验


    MVC的校验很强大,自己带的校验就足够我们使用了,下面分别介绍前后台校验:

    首先在介绍校验之前先说下.NET 框架中的System.ComponentModel.DataAnnotations命名空间包括了众多可为你所用的内置验证特性,介绍用的最多的其中的四个:[Required]:表示此字段必须是有值的;

    [StringLength]:规定字段的长度;

    [Range]:规定字段的范围;

    [RegularExpression]:字段符合的正字表达式。

    比如我们在Model里创建了一个UserInfo类:

    public class UserInfo
        {
            public int Id { get; set; }
    
            [StringLength(10,ErrorMessage = "*长度必须<10")] //表示长度必须小于10
            [Required(ErrorMessage = "*必填姓名")] //表示名称必填
            public string UserName { get; set; }
    
            [RegularExpression(@"^d+$")]  //表示必须符合这个正则表达式(必须是数字)
            [Range(20,120)]   //表示在20到120这个范围之间
            [Required(ErrorMessage = "*")]  //表示必须有值
            public int Age { get; set; }
        }

    一.前台校验

    在建好model并且写上要约束的条件之后,我们要想在前台校验,必须在前台引入对应的js脚本:

    引入脚本之后我们在前台就可以校验了,如:

     

    二.后台校验

    后台校验就更加方便了,只要在后台写上:

    //ModelState.IsValid=true那么校验就是成功的。
    if (ModelState.IsValid)
    {
    }

    就可以了,我们把校验成功之后要执行的代码放到if里就可以,再也不需要一个一个字段去校验了,省去了很多麻烦和代码。

    MVC的校验是不是很强大且简单呀。

    补充:1.WebConfig中可以设置全局客户端校验是否开启或者关闭。微软默认ClientValidationEnabled为ture就是校验前台客户端,

           如果把ClientValidationEnabled改为false,就是所有的前台客户端都不校验。

      2.也可以设置某一个页面不校验。就是在对应页面加下面红框里的一句话,不写或写为true就是校验,false为不校验。

  • 相关阅读:
    Android基础总结(四)网络通信
    Android基础总结(三)SQLite,ListView,对话框
    am335x sd卡启动系统参数设置
    am335x 电容屏驱动添加。
    linux 下恢复后台程序的方法
    qt-5.6.0 移植之实现板子与ubuntu主机通过网络进行文件传输
    qt-5.6.0 移植之qt文件系统的建立
    qt-5.6.0 移植之tslib 配置及编译
    qt-5.6.0 移植之qt源码编译
    qt-5.6.0 移植之纯净的linux文件系统的建立
  • 原文地址:https://www.cnblogs.com/sxw117886/p/5825845.html
Copyright © 2020-2023  润新知