使用Jquery validation组件对easyui-datebox组件的时间进行验证遇到的问题
来源:互联网 发布:张成泽犬决 知乎 编辑:程序博客网 时间:2024/05/01 01:46
最近在处理一个”简单”任务,就是在表单提交前,想对表单中输入的时间进行验证,如果没输入数据,提示“必填字段”。下面列一下处理过程中遇到的问题。
问题一 : 使用Jquery 的validation框架对时间域进行判断,但是不起作用
我原先的思路是使用jquery 验证框架中的rule来处理,如下:
前端的jsp代码如下:
按照常理,表单提交前,只需要调用jquery验证框架中的valid方法,则会启用上面定义的rule规则对startTime输入域进行验证。在提交表单前,我期待的结果是:
但是无论俺怎么调式,都无法出现上面的效果。后来只好使用谷歌浏览器的“审查元素”功能来查看源代码,发现输入的值其实是存储在一个hidden域上的,如下:
上面的代码是由easyui-datebox组件生成的。发现hidden问题后,我就开始怀疑Jquery的验证框架是否会验证hidden域,果然不出所料,Jquery验证框架在1.9版本后,默认是不支持对hidden进行验证的,如下:
必须把ignore:”:hidden” 改成 ignore:[](注意[]不能带双引号)。修改完再次测试,还是失败,失败原因请看第二个问题。
问题二 :Jquery 验证框架应该是可以对隐藏域进行验证了,为什么“必填字段”这个消息还是没出现
首先我做了一个测试,来证明Jquery验证框架是否可以验证普通的隐藏域,如下:
改成:
结果当点击提交按钮后,界面上可以显示出“必填字段”这个信息。到此可以推断出,easyui-datebox这个控件有问题,我仔细的查看了这个组件生成的html标签,如下:
其实“必填字段”这个信息在之前是有显示出来的,只不过被遮挡住了,对应的label标签被包在了一个span标签里面。折腾了大半天后,还是无法将“必填字段”这个信息所在的label标签移到span的外部。到此我服输了,得出了一个结论:想通过Jquery的验证框架来验证easyui-datebox组件的时间信息太困难了,得修改组件代码。 只能绕过Jquery验证框架,使用传统的方式来做。
问题三 : 如何使用传统方式验证easyui-datebox组件中的时间
下面简单的列一下使用这种方式需要解决的问题以及相关的代码实现。
1、 在startTime字段没有输入信息时,必须在该元素后面追加“必填字段”这个信息。
2、 定位到startTime元素输入域真正的位置。
easyui-datebox生成的代码,请参阅上文贴出的。
3、 当用户输入数据后,必须把“必填信息”移除,需要注册select时间和onblur事件。
当然也可以尝试使用easyui-datebox自带的验证框架。比如:
missingMessage:未填写时显示的信息
validType:验证类型见下示例
invalidMessage:无效的数据类型时显示的信息
required="true" 必填项
class="easyui-validatebox" 文本验证
class="easyui-numberbox" 数字验证。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。
我并没有尝试这种风格,原因是我必须追随原来的提示风格,不能自己玩自己的,故使用传统的验证方式。以上这是其中一种解决方案,抛砖引玉而已。
- 使用Jquery validation组件对easyui-datebox组件的时间进行验证遇到的问题
- easyui的时间组件Datebox使用
- easyui Datebox日期框组件的使用
- jquery easyUI组件easyui-datebox限制时间范围
- jquery easyui datebox 的使用
- jquery easyui datebox 的使用 .
- jquery easyui datebox 的使用 .
- jquery easyui datebox 的使用
- jquery easyui datebox 的使用
- jquery easyui datebox 的使用
- jquery easyui datebox 的使用
- jquery easyui datebox 的使用
- jquery组件使用遇到的问题
- jquery easyui datebox 的使用需要注意的问题
- 使用JQuery-easyui的datagrid组件和servlrt进行交互是需要注意的问题
- Jquery Easyui验证组件ValidateBox使用详解
- EasyUi 日历组件 datebox 开始时间与结束时间限制
- easyui让隐藏的组件不进行验证
- 从Monkey源码里学习几个adb shell命令和monekey日志的查阅方法
- Erlang - gen_server
- IOS 真机测试 Xcode出现"The identity used to sign the executable is no longer valid"
- angular2.0新特性总结
- OC属性总结笔记
- 使用Jquery validation组件对easyui-datebox组件的时间进行验证遇到的问题
- 函数功能:传入一个数组,返回数组中第二大数。已知数组中的对象都是数字构成的字符串,且任意两元素不相等。 如传入:@[@"1",@"2",@"3",@"4"],返回@"3"
- MyBatis学习(5)---------调用存储过程和缓存
- 如何防止搜索引擎收录抓取页面内容
- JNI笔记
- 获取系统相册
- UIButton
- JSP2.0自定义标签
- 关于人性,我是这么看的——“唯进化”论!