模型验证===>客户端验证技术

什么是客户端验证:
在Web应用程序中,用户期望得到即时的验证反馈-------对服务器不做任何的提交.这通常数用JavaScript实现的.

用户输入的数据在被提交到服务器之前就进行验证,给用户提供即时的反馈,并修正错误的机会.

MVC框架支持非唐突客户端验证,那什么是"非唐突(Unobtrusive)”:在生成HTML元素上添加验证属性来表示验证规则.

这些验证规则由包含在MVC框架中的JavaScript库进行解释,框架用属性值来配置JQuery验证库,并由该验证库完成实际的工作.

"非唐突"在JavaScript中用的很多,它是个宽泛的术语,具有三个关键特征:

1.执行验证的JavaScript与HTML元素保持分离的. 可以不把客户端验证逻辑包含到视图中,而使所生成的HTML更加易读.

2.使用渐进式增强的方式执行验证.意思是:如果用户浏览器不支持客户端验证所需要的所有JavaScript特性,那么,验证会使用更简单的技术来执行.例如:如果用户已经禁用了JavaScript,那么服务器验证将被无缝地执行,用户不会受到任何处罚(没有不愉快的错误消息,或者要求采用特殊的步骤).

3.有一组最优方法来减轻浏览器不一致性效果和行为.

怎么来启用和禁用客户端验证?

启用验证:

方法一:在应用程序的Web.Config文件中的2个设置来控制.(ClientValidationEnabled和UnobtrusiveJavaScriptEnabled)

这2个设置项目都必须设置为”true”

<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

方法二:在Global.asax中用代码来控制这些设置.(调用HtmlHelper上的属性来控制)


public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{

AreaRegistration.RegisterAllAreas();

HtmlHelper.ClientValidationEnabled = true;
HtmlHelper.UnobtrusiveJavaScriptEnabled = true;

RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}

同时也可以对单个视图启用或禁用客户端验证,这样会重写之前的设置选项.(同样是调用HtmlHelper的属性)

@{
ViewBag.Title = "Movies";
HtmlHelper.ClientValidationEnabled = false;
}
//....

禁用验证:

为了使客户端验证起到左右,这些设置都必须设置为”true”,这就意味着禁用验证只要把其中的一个设置设置为”false”.

前提条件:

保证3个特定的JavaScript库必须引用:分别是:

Jquery-{version}.min.js, // {version}是随着版本增加而变化)

jquery.validate.min.js,

jquery.validate.unobtrusive.min.js

这个三个文件的引用顺序很重要,如果改变这个顺序,你会发现客户端验证不会执行.

使用客户端验证

一旦启用了客户端验证,并确保视图中引用了JQuery库.就可以开始执行客户端验证了.

待续

时间: 2024-11-08 21:01:57

模型验证===>客户端验证技术的相关文章

ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)

ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证,在默认的情况下,基于ValidationAttribute的声明是验证被使用,我们只需 要将相应的ValidationAttribute应用到Model的类型或者属性上即可.对于自定义验证,我们也只需要定义相应的Validation 就可以了,不过服务端验证比较简单,而客户端验证就要稍微复杂一些,本文提供一个简单的实例说明在ASP.NET MVC中实现自定义验证的基本步骤.[源代码从这里下载] 一.AgeRangeAttr

SpringMVC中文件上传的客户端验证

SpringMVC中文件上传的客户端验证 客户端验证主要思想:在jsp页面中利用javascript进行对文件的判断,完成验证后允许上传 验证步骤:1.文件名称 2.获取文件的后缀名称 3.判断哪些文件类型允许上传 4.判断文件大小 5.满足条件后跳转后台实现上传 前台界面(验证上传文件是否格式满足要求): <body> <h2>文件上传</h2> <form action="upload01" method="post" 

Struts2(十二)使用验证框架验证数据较验

一.数据验证 1.1.为什么要进行数据验证 对数据的合法性进行检查,只允许合法的数据进入应用程序 1.2.在哪里实现数据验证 客户端验证: 数据提交前在客户端验证 可使用JavaScript或者JQuery实现 特点:减少客户等待时间,减小服务器压力 服务器端验证: 在数据提交后服务器端验证 特点:防止“绕过”客户端验证提交非法数据 可以在服务器端处理数据前确保数据的合法性 1.3.Struts2有两种方式实现服务器端数据验证 使用ActionSupport编码实现验证 使用验证框架实现验证 二

客户端验证模型

要实现默认的验证,需完成如下三步骤: 1.在Web.config里启用客户端验证,在Mvc自带的模版中是默认存在的: <add key="ClientValidationEnabled" value="true"/> <add key="UnobtrusiveJavaScriptEnabled" value="true"/> 两个属性必须都为true时才能启用客户端验证,还有一种替代方法: protec

Direct Access技术之四:DA服务器的配置及客户端验证

下篇 前一篇我们构建了DA实验的基础环境,这一篇主要看下DA服务器的配置及客户端验证 DA服务器配置 首先看下CLIENT1在内网测试访问APP1服务器,结果如下: 访问正常. 配置DA服务器 DA服务器-服务器管理器-工具-点击"远程访问"组件 运行开始向导 选择"仅部署DirectAccess" 网络拓扑选择"边缘",向导自动检索远程访问服务器的公用名称,这里是"directaccess.sr.local",下一步 点击&

[Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则

目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列——添加视图 [Asp.net MVC]Asp.net MVC5系列——添加模型 [Asp.net MVC]Asp.net MVC5系列——从控制器访问模型中的数据 [Asp.net MVC]Asp.net MVC5系列——添加数据 概述 上篇文章中介绍了添加数据,在提交表单的数据的时候,我们需

数往知来 ASP.NET MVC HtmlHelper、MVC快速增删改查 Cache MVC3客户端验证 MVC隐式异步提交 &lt;二十八&gt;

一.HtmlHelper.MVC快速增删改查 MVC 在MVC里面请求首先到控制器-->然后 -->数据库数据放在APP_DATE文件夹里, -->js.css文件放在content文件夹里 -->控制器放在Controllers里,控制器要以controller结尾 控制器下面的所有方法都称为action 2)webform跟 aspnet MVC:区别请求的地址不一样了 MVC请求的是控制器下面的action webform:aspx页面或者是一般处理程序 -->a标签

客户端验证换了,服务器验证持性

ASP.Net MVC Model(模型+验证) 本系列目录:ASP.NET MVC4入门到精通系列目录汇总 模型就是处理业务,想要保存.创建.更新.删除的对象. 注解(通过特性实现) DisplayName Required StringLength(20,MinimumLength=2) DataType(System.ComponentModel.DataAnnotations.DataType.MultilineText) RegularExpression(@"^\w+([-+.]\w

教程:让你的表单升级到CSS3和HTML5客户端验证

今天我们一起来看看如何创建一个实用并且功能强大的表单,表单使用如今最热门的技术HTML5和css3来创建,并且可以通过HTML5进行客户端验证. 查看预览下载附件 第一步:策划表单功能 首先,我们得为我们的表单策划一下该有什么功能,用什么形式表现.在这个示例中,我们就制作一个比较简单的留言表单.需要的功能如下: 名称 电子邮件 网站地址 提交按钮 我们都希望用户能够填写正确的信息再提交,要实现这一点,我们可以使用HTML5客户端验证新技术.那怎么样使用这个功能呢?在这里简单的使用服务器验证,不做