MVC 校验
校验保障了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 校验的更多相关文章
- MVC校验方式【六】
一.以往的校验都是自己写正则表达式校验,本篇讲的是通过MVC自带的jquery文件进行校验 实现步骤:1. 在webform页面中引入两个jquery文件,10,11行的代码. <%@ Page ...
- MVC校验
首先Model里面需要写好校验标签, 我的数据库中有个tblUserInfo表,其中有Id,UserName,,Age三个列,Id自动增长 Model添加UserInfo Class,在UserNam ...
- MVC校验特性
1.前端引入3个脚本 ①jq脚本 ②jQuery.Validate.js ③jquery.validate.unobtrusive.js(异步验证) 2.后端加特性 在表对应的Mod ...
- Mvc校验用户没有登录就跳转的实现
看字面意思很简单,就是判断用户是否登录了,如果没有登录就跳转到登陆页面. 没错,主要代码如下(这里就不写判断登录了,直接跳转) 首先在控制器中新建一个BaseController public cla ...
- spring mvc 校验@NULL
一需要的包 1 validation-api-1.0.0.GA.jar:JDK的接口: 2 hibernate-validator-4.2.0.Final.jar 是对上述接口的实现: 二 若在pom ...
- MVC之校验
MVC校验 首先要在Models中创建几个属性 例子:Id.UserName.Age属性.然后创建控制器,然后添加一个试图,选择强类型,选择支架模板Create生成页面,然后将所有控件改为TextBo ...
- MVC学习Day02之校验
MVC校验有两种方法: 方法一:自己动手写js---------略 方法二: l在View的页面中,首先指定页面强类型@model 类型 l使用Html.***For(model=>model. ...
- Asp.Net MVC 模型验证详解-实现客户端、服务端双重验证
概要 在asp.net webform开发中经常会对用户提交输入的信息进行校验,一般为了安全起见大家都会在客户端进行Javascript(利于交互).服务端双重校验(安全).书写校验代码是一个繁琐的过 ...
- Spring MVC(十四)--SpringMVC验证表单
在Spring MVC中提供了验证器可以进行服务端校验,所有的验证都必须先注册校验器,不过校验器也是Spring MVC自动加载的,在使用Spring MVC校验器之前首先要下载相关的jar包,下面是 ...
随机推荐
- json对象转字符串与json字符串转对象
1.概述: 我们在编程时进场会遇到json对象转字符串,或者字符串转对象的情况. 2.解决办法: json.parse()方法是将json字符串转成json对象. json.stringfy()方法是 ...
- java 存储oracle的clob字段
项目中有很长的字符创需要存储,用到了oracle的clob字段,直接很长的字符串插入到clob字段中会报字符过长的异常,于是便寻求解决方案.看到这个博客写的还不错 首先,创建一个含CLOB字段的表: ...
- Unity3D性能优化总结
一.程序方面 01.务必删除脚本中为空或不须要的默认方法: 02.仅仅在一个脚本中使用OnGUI方法. 03.避免在OnGUI中对变量.方法进行更新.赋值,输出变量建议在Update内. 04.同一脚 ...
- Linux学习笔记01:Linux下的drwxr-xr-x
1. drwxr-xr-x 第1字母:表示文件类型 d ------- 表示文件目录(directory) - ------- 表示二进制文件 l ------ ...
- C# typeof Gettype is as &拆箱 装箱
有时候,我们不想用值类型的值,就是想用一个引用..Net提供了一个名为装箱(boxing)的机制,它允许根据值类型来创建一个对象,然后使用对这个新对象的一个引用. 首先,回顾两个重要的事实,1.对于引 ...
- Java 图片切圆角,消除锯齿
public static BufferedImage setBorderRadius(BufferedImage srcImage, int radius){ int width = srcImag ...
- Sql Server批量停止作业
CREATE Proc [dbo].[Proc_StopJob] as begin declare @I int declare @JobID uniqueidentifier -- 1. creat ...
- 关于ajax直接提交表单jQuery .validator验证不起作用问题
之前用$.ajax(function(){});直接提交表单,而表单验证不通过也能提交. $(document).ready(function(){ $.ajax({ url:" ...
- brew 更换国内源(镜像)
cd /usr/local git remote set-url origin git://mirrors.tuna.tsinghua.edu.cn/homebrew.git brew update ...
- jquery 点点滴滴小记
字符截取显示 var text = $(".content").text(); var textNum = text.length; var textInt = text.slic ...