码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-05-09 13:20:33      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   tar   

什么是客户端验证: 在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上的属性来控制)

bubuko.com,布布扣
public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {

            AreaRegistration.RegisterAllAreas();

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

            RouteConfig.RegisterRoutes(RouteTable.Routes);
        }
    }
bubuko.com,布布扣

 

同时也可以对单个视图启用或禁用客户端验证,这样会重写之前的设置选项.(同样是调用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库.就可以开始执行客户端验证了.

待续

模型验证===>客户端验证技术,布布扣,bubuko.com

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

标签:style   blog   class   code   java   tar   

原文地址:http://www.cnblogs.com/JFCao/p/3718357.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!