欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET MVC5验证系列之客户端验证

程序员文章站 2023-11-27 09:21:10
前面学习了,服务端验证,这篇文章中,我们接着学习客户端验证,客户端的验证,使用jquery和jquery插件来实现【jquery.validate.min.js and j...

前面学习了,服务端验证,这篇文章中,我们接着学习客户端验证,客户端的验证,使用jquery和jquery插件来实现【jquery.validate.min.js and jquery.validate.unobtrusive.min.js) 】 

在服务端验证中,页面必须要提交到服务器,进行验证,如果数据验证不通过,服务器端就会发送一个响应到客户端,然后客户端根据相应的信息,进行处理;而客户端验证则不同,用户输入的数据,只要一提交,客户端就会进行先验证,如果不通过就报错,不会提交到服务器进行验证,如果通过了,才会把请求传到服务器端。

如果你是使用vs2012以上的版本,那么会自带的启用了客户端验证的:【当然你也可以手动添加下面的配置。】

 <configuration>
 <appsettings>  
  <add key="clientvalidationenabled" value="true" />
  <add key="unobtrusivejavascriptenabled" value="true" />
 </appsettings>
</configuration>

我们还是之前的项目: 

using system;
using system.collections.generic;
using system.componentmodel.dataannotations;
using system.linq;
using system.web;

namespace server_side_validation_in_mvc.models
{
  public class studentserver
  {
    [required(errormessage="name为必填项")]
    public string name { get; set; }

    [required(errormessage="电子邮件必须")]
    [emailaddress(errormessage="电子邮件格式不对")]
    public string email { get; set; }
  }
}

public actionresult seversideindex()
    {
      return view();
    }

    [httppost]
    public actionresult seversideindex(studentserver model)
    {
      if (modelstate.isvalid)
      {
        viewbag.name = model.name;
        viewbag.email = model.email;
      }
      return view();

    }

不同的是,这里,我添加视图,不一样: 

ASP.NET MVC5验证系列之客户端验证

注意这里一定要勾选引用脚本库,也就是引入jquery和jquery插件,这样才能进行客户端验证:
修改一下默认路由: 

 public static void registerroutes(routecollection routes)
    {
      routes.ignoreroute("{resource}.axd/{*pathinfo}");

      routes.maproute(
        name: "default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "student", action = "seversideindex", id = urlparameter.optional }
      );
    }

运行项目: 

ASP.NET MVC5验证系列之客户端验证

我们在控制器的post方法中添加一个断点

ASP.NET MVC5验证系列之客户端验证

直接点击按钮:没有调用post方法,直接在客户端验证了数据的合法性。

ASP.NET MVC5验证系列之客户端验证

输入合法的数据:

ASP.NET MVC5验证系列之客户端验证

断点触发了,也就是说,在客户端验证通过之后,才会提交到服务器进行进一步处理。

ASP.NET MVC5验证系列之客户端验证

好了,这就是客户端验证,比较简单。但注意要引入jquery插件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。