2015/10/19总结:ajax传参、jquery.validate自定义日期校验

以下内容仅来自于日常实践零碎回顾、总结,不保证正确性,欢迎路过的大神指点指点!

1、这几天一直在写jsp前端页面,了解到前端与后端数据交互数据有两种。一种是form 的submit方式提交,这种方法可以在表单里通过声明属性:method = ‘post‘声明表单提交的方式(要与后台的controller的RequestMethod属性对应),  action = ‘ url’声明表单提交后跳转的页面(好像采用这种方式一般都要跳转页面)。另一种方式就是通过ajax提交,ajax提交和响应的数据方式都是json格式,因为ajax是异步数据请求,不跳转页面,所以后台对应的controller中方法也注明注解@ResponseBody;其中bootstrap table的与后台的数据交互就是采用ajax的方式,只是bootstrap table 封装的比较好,对请求的url 、传参以及响应的参数利用都直接利用。

  两种请求方式理解:

    GET:传参拼在url地址后面,以?标志开始,&拼接;一般用于少量表单数据的的提交;

    POST:传参拼在http消息体中,一般用于大量数据的提交;

2、因为对jquery validate基本没用过,今天直接操刀就要弄一个表单中输入起始日期不能大于截止日期的校验,大概浏览了一下runoob中的教程就在网上找了一些demo敲进去,遇到了各种问题,包括校验根本没反应,js文件不可用,校验提示信息不出来等,现在想想,都是心太急了,加上各种语法不熟悉惹的祸。jquery validate中有很多封装好的校验方法,可以直接在HTML或js中使用,但好像没有发现需求的现成方法。决定添加自定义校验方法,参照网上一个例子如下:

  $.validator.addMethod("compareDate",function(value,element){
                var assigntime = $("#assigntime").val();
                var deadlinetime = $("#deadlinetime").val();
                var reg = new RegExp(‘-‘,‘g‘);
                assigntime = assigntime.replace(reg,‘/‘);//正则替换
                deadlinetime = deadlinetime.replace(reg,‘/‘);
                assigntime = new Date(parseInt(Date.parse(assigntime),10));
                deadlinetime = new Date(parseInt(Date.parse(deadlinetime),10));
                if(assigntime>deadlinetime){
                    return false;
                }else{
                    return true;
                }
            },"<font color=‘#E47068‘>结束日期必须大于开始日期</font>");

  程序说明如下: 

    1.将标准时间转化为时间戳通过Date.parse()方法来处理。

    2.将时间戳转化为整数,确保万一,通过parseInt("",10)来处理。

    3.将时间戳转为日期对象new Date()。转为对象之后,就能够比较时间大小了

     小白菜,按照剧情的尿性发展,故事往往没有这么顺利的,问题来了,根本不能用啊,坑爹呀。期间跑过一千万个的草泥马。。。。。

     最后折腾的结果是:1)得加上jquery validate的引用文件;

              2)日期所在控件加上<input class=”compareDate“>

              3)为了让日期控件离开焦点后触发校验,js文件中得加上$("#form").validate();

  再最后,有bug ,有bug, 有bug......校验中对日期的的取值比较竟然是取得日期控件点击前(或上一次)的值,我用的日期控件为bootstrap-datetimepicker,不知道是程序的问题,还是日期控件的问题,望有用过的大神能告知一二。。。。

    

时间: 2024-08-08 00:48:23

2015/10/19总结:ajax传参、jquery.validate自定义日期校验的相关文章

jq中的ajax传参

    一.   jq中的Ajax传参有两种           1.通过url地址来传参    2.通过data来传递参数 1. url来传递参数 function GetQuery(id) { if (id ==1||id==7) { var name = "语文"; $.ajax({ url:"../ajaxHandler/ChartsHandler.ashx?id="+id+"&name="+name +"",

jquery.validate动态更改校验规则

有时候表单中有多个字段是相互关联的,以下遇到的就是证件类型和证件号码的关联,在下拉框中选择不同的证件类型,证件号码的值的格式都是不同的,这就需要动态的改变校验规则. 点击(此处)折叠或打开 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <m

jquery validate 自定义验证方法

query validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方法,可以让用户来自定义验证规则. 案例一: //自定义验证 $.validator.addMethod("isPositive",function(value,element){ var score = /^[0-9]*$/; return this.optional(element) ||

使用JQuery.Validate插件来校验页面表单有效性

使用JQuery.Validate插件来校验页面表单有效性?1. [代码] 常见的注册表单元素 <form action="#" method="post"  id="regist">     <table cellpadding="0" cellspacing="0" border="0" class="form_table">      

jquery.validate自定义验证--成功提示与择要提示

在Swing 中显示文本或提示信息的方法是使用标签,它支持文本字符串和图标.在应用程序的用户界面中,一个简短的文本标签可以使用户知道这些控件的目的,所以标签在Swing中是比较常用的控件. 1.标签的使用 标签由JLabel类定义,父类为JComponent类. 标签可以显示一行只读文本,一个图像或带图像的文本,它并不能产生任何类型的事件,只是简单低显示文本和图片,但是可以使用标签的特性指定标签上文本的对齐方式. JLabel类提供了多种构造方法,这样可以创建多种标签,例如显示只有文本的标签.只

ajax传参到实体类对应字段

之前看公司的代码,从页面ajax传参数到接口类,接口类用一个实体接收.我一直以为c#会自动识别,赋值到同名的字段. 我曾和朋友讨论过,双方辩论.朋友认为c#没有这种功能,没有这样高级匹配的机制.而我因为在项目中使用的是直接传值,并没有做过什么拼接或转换,所以我认为c#会自动把同名的自动赋值.朋友不同意,于是我们觉得代码上见分晓. 打开vs,我们开始调试,写好一段ajax的js,Url就写接口类的路径,参数为一段json,然后接口类那边接收json.写到接口类的时候,我想要接收ajax传来的数据,

10 函数进阶 动态传参 作用域和名称空间 函数的嵌套 全局变量

今日主要内容 1. 动态传参(重点) *, ** *, ** : 形参: 聚合 位置参数* -> 元组 关键字** -> 字典 实参: 打散 列表, 字符串, 元素 -> * 字典 -> ** 形参顺序(重点): 位置, *args, 默认值, **kwargs 无敌传参 def func(*args, **kwargs): arguments参数 keyword-arguments关键字参数 pass 2. 作用域和名称空间 名称空间: 用来存放名字(变量, 函数名, 类名, 引

日期对象的常用用法(传参以及转字符串日期)

一.传参 我们用var now=new Date() 获得自定义的时间对象 函数中没有传递任何参数,表示此对象now自动获取了当前的时间. 如果想要创建一个自定义时间的对象,需要在new Date()中传递参数,接收毫秒数. 可以使用Date.parse()来获得自定义时间的毫秒数. 4种方法如下: var mydate1=new Date(Date.parse("12/12/2013")); console.log(mydate1); var mydate2=new Date(&qu

jQuery Validate 自定义校验及ajax校验

http://www.w3cschool.cc/jquery/jquery-plugin-validate.html这里文档比较全面! 实践: 复杂的一些校验,如正则校验,可以通过jQuery.validate.addMethod()http://jqueryvalidation.org/jQuery.validator.addMethod 来实现,添加完后,就可以通过jQuery.validate()在rules中添加校验规则 jQuery.validator.addMethod("numOr