校验保障了MVC 应用程序安全性。 Models 文件夹包含表示应用程序模型的类

1,创建一个项目MvcValidateDemo。

2,创建一个实体类UserInfo在Models中,包含Id、UserName、Age属性。

3,创建UserInfo控制器,并添加一个Add的Action。

4,为名为Add的Action添加视图,选择强类型(需先编译一次,因为MVC是通过反射找到实体类),选择支架模板Create生成页面。

5,第一行代码是Razor语句中生成强类型页面的语法@model MvcValidateDemo.Models.UserInfo

6,为了避免Age生成数字控件,我们改为TextBoxFor,然后手动的校验它@Html.EditorFor(model => model.Age)

EditorFor也是文本框,但更智能一些,会根据数据类型选择合适的控件呈现

7,在UserInfo实体上添加校验标签。

.NET 框架中的System.ComponentModel.DataAnnotations 命名空间包括了众多可为你所用的内置验证特性

8,虽然已经添加了一些验证的信息,但是由于验证是基于JqueryValidate插件的验证,所以最后还需要在页面上添加JS插件包的引用。(插件包不能少)

为什么在模型实体类中设置的校验,会在视图层上呈现前端校验了,那是因为HtmlHelper会在生成控件时,自动将校验信息添加到前端控件身上。

而且微软在后台也有校验功能,而且非常简单,值需要在Action内添加一句代码。

本节介绍了常用的四种校验方法:

[Required], [StringLength], [Range], 和 [RegularExpression]    用法具体看这验证方法的重载

需要注意:要使用客户端验证,必须引入JS脚本支持(jquery的校验)

MVC 校验的更多相关文章

  1. MVC校验方式【六】

    一.以往的校验都是自己写正则表达式校验,本篇讲的是通过MVC自带的jquery文件进行校验 实现步骤:1. 在webform页面中引入两个jquery文件,10,11行的代码. <%@ Page ...

  2. MVC校验

    首先Model里面需要写好校验标签, 我的数据库中有个tblUserInfo表,其中有Id,UserName,,Age三个列,Id自动增长 Model添加UserInfo Class,在UserNam ...

  3. MVC校验特性

    1.前端引入3个脚本       ①jq脚本   ②jQuery.Validate.js  ③jquery.validate.unobtrusive.js(异步验证) 2.后端加特性 在表对应的Mod ...

  4. Mvc校验用户没有登录就跳转的实现

    看字面意思很简单,就是判断用户是否登录了,如果没有登录就跳转到登陆页面. 没错,主要代码如下(这里就不写判断登录了,直接跳转) 首先在控制器中新建一个BaseController public cla ...

  5. spring mvc 校验@NULL

    一需要的包 1 validation-api-1.0.0.GA.jar:JDK的接口: 2 hibernate-validator-4.2.0.Final.jar 是对上述接口的实现: 二 若在pom ...

  6. MVC之校验

    MVC校验 首先要在Models中创建几个属性 例子:Id.UserName.Age属性.然后创建控制器,然后添加一个试图,选择强类型,选择支架模板Create生成页面,然后将所有控件改为TextBo ...

  7. MVC学习Day02之校验

    MVC校验有两种方法: 方法一:自己动手写js---------略 方法二: l在View的页面中,首先指定页面强类型@model 类型 l使用Html.***For(model=>model. ...

  8. Asp.Net MVC 模型验证详解-实现客户端、服务端双重验证

    概要 在asp.net webform开发中经常会对用户提交输入的信息进行校验,一般为了安全起见大家都会在客户端进行Javascript(利于交互).服务端双重校验(安全).书写校验代码是一个繁琐的过 ...

  9. Spring MVC(十四)--SpringMVC验证表单

    在Spring MVC中提供了验证器可以进行服务端校验,所有的验证都必须先注册校验器,不过校验器也是Spring MVC自动加载的,在使用Spring MVC校验器之前首先要下载相关的jar包,下面是 ...

随机推荐

  1. 命令行修改linux系统IP

    修改配置文件/etc/sysconfig/network-scrips/ifcfg-eth0.因为机子启动的时候加载的就是这个文件的配置参数.对这个文件进行修改:   [root@localhost ...

  2. HDU 1015 Safecracker 解决问题的方法

    Problem Description === Op tech briefing, 2002/11/02 06:42 CST ===  "The item is locked in a Kl ...

  3. easyui-form添加自定义表单验证

    easyui自定义表单验证规则其实不是很复杂,只要重写一下重写 $.fn.validatebox.defaults.rules 自定义示例 $.extend($.fn.validatebox.defa ...

  4. Task与Thread间的区别

    通过查找一些文章,得知,Task与Thread不可比.Task是为了利用多CPU多核的机制而将一个大任务不断分解成小任务,这些任务具体由哪一个线程或当前线程执行由OS来决定.如果你想自己控制由哪一个T ...

  5. datagrid的基本操作-增删改

    1 ---恢复内容开始--- <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  6. SQL从入门到基础 - 07 抑制重复数据

    一.去掉数据重复 distinct 1. Select FDepartment from T_Employee →select distinct FDepartment from T_Employee ...

  7. Activity一共有以下四种launchMode

    1. standard: 无论什么情况都会生成一个新的Activity实例,并且放于栈顶. 2. singleTop:如果Activity纯在但是不位于栈顶,就重新生成一个Activity实例. 3. ...

  8. centos静默式安装Oracle11g

    1.   Centos及Oracle版本 Centos:CentOS release 6.4 (Final) Oracle:linux.x64_Oracle_11gR2_database 2.   硬 ...

  9. Objective-C Delegate

    ios设计模式中的委托 Delegate 官方文档解释如下: Delegation is a simple and powerful pattern in which one object in a ...

  10. reason: 'Could not instantiate class named MKMapView'

    详细原因: 拖入MapView直接运行,结果报错 解决:在Xcode导入MapKit.framework既可