当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET MVC5验证系列之客户端验证

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

枫之缘,长沙长海医院,江苏车辆违章查询

前面学习了,服务端验证,这篇文章中,我们接着学习客户端验证,客户端的验证,使用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();

    }

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

注意这里一定要勾选引用脚本库,也就是引入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 }
      );
    }

运行项目: 

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

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

输入合法的数据:

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

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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网