写代码时日期时间格式的判断是常有的,挺有用的.收集一下
http://www.iteye.com/topic/30759
$bug = fixer::input('post') ->add('openedBy', $this->app->user->account) ->add('openedDate', $now) ->setDefault('project,story,task', 0) ->setDefault('openedBuild', '') ->setIF($this->post->assignedTo != '', 'assignedDate', $now) ->setIF($this->post->story != false, 'storyVersion', $this->loadModel('story')->getVersion($this->post->story)) ->specialChars('title,steps,keyword') ->cleanInt('product, module, severity') ->join('openedBuild', ',') ->remove('files, labels') ->get(); //手机号 validater::checkREG('13636478944', '/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/')
首先,是调用fixer这个类的input方法,它的参数post表示是从$_POST这个变量中获取数据。
紧接着的两行add(),是向数据中增加两个变量。然后后面的两行setDefault则是表示,当这个变量没有传值的时候,设成默认的值。
接下来是两行setIF。setIF共有三个参数,第一个是判断条件,后面两个分别是key和value。也就是当条件为true的时候,设置$key = $value。
下面的spechialchars则表示对这三个字段进行htmlspecialchars处理;cleanInt则将变量处理成int类型,join,则将openedBuild使用,连接起来。
最后,还需要把两个不需要的变量去掉,使用remove。
通过get方法就可以得到一个已经经过修改的完整的数据集合。这个集合已经可以准备入库了。让我们来看下数据是如何验证的。
不同的版本跟大小写字母有关,API用法也变了
initConfig增加theme 属性,表示皮肤名,theme 的值可取目录theme 下的文件夹名,默认是default,自定义验证的html样式 。打开皮肤目录下的对应style.css文件,把重名的样式名改掉,再把theme.js文件里对应的名字改过来。theme.js
$class$表示对应的样式名。可以省略,可以表示分别是:onShow、onFocus、onError、onCorrect。
$data$表示显示的内容。可以省略。
submitOnce 校验通过后,是否灰掉所有的提交按钮
debug: false,//如果你要调试代码,你可以设置debug为true,校验成功了,也不会提交表单。
defaultPassed 默认校验通过,显示onCorrect状态,配合empty:true
mode:'AutoTip',自动创建<div id="XXTip"></div> auto:true
wideWord 是否把一个全角字符当做2个长度
onCorrect:" ", //不要文字,只要提示图片
errorFocus(默认: true)整个校验组校验失败的时候,第一个出错的控件是否获得焦点,empty:true
$("#xueli").formValidator({ onShow:"请选择你的学历", onFocus:"学历必须选择", onCorrect:"谢谢你的配合", onempty:"谢谢你的配合", empty:true }).inputValidator({ min:1, onError: "你是不是忘记选择学历了!" }).defaultPassed();
如何实现用<a href="javascript:dosubmit()">提交</a>来启用验证
function dosubmit(){ $('#form').submit(); } $.formValidator.initConfig({formID:"form",mode:'autotip'});如果某个控件triggerEvent是blur触发验证,点击获取验证码怎么触发
$("#mobile").formValidator({ onshow:"请输入手机号码", onfocus:"手机的长度必须是11位", oncorrect:"手机合法" }).inputValidator({ min:11, max:11, onerror:"手机号码必须为11位,请确认" }).regexValidator({ regexp:"mobile",datatype:"enum",onerror:"手机的格式不正确" }); $("#verifyBtn").click({ //点获取验证码验证手机 $("#mobile").blur(); }); ajaxValidator({ type : "get", url : "", data :"m=member&c=index&a=public_checknickname_ajax", datatype : "html", async:'false', success : function(data){ if( data == "1" ) { return true; } else { return false; } }, buttons: $("#dosubmit"), onerror : "昵称已经存在", onwait : "请稍候..." })
得到某个控件验证结果 ,验证通过是true,不过是false,如手机号码验证正确是才发送短信验证码
var result = $.formValidator.isOneValid('mobile'); //id if(result){ sendSmsCode(); }
在同一个页面你可以拥有很多个校验组,你只需在提交的按钮那里调用,ajax提交
return jQuery.formValidator.pageIsValid('校验组号') ;
来完成多个组的校验,互不干扰。
两个放一行怎么处理,设置同一个tipID
调用场合
1、有默认值,而且这个值是合法的情况下,可以调用。例如性别,你默认男,是合法的。
2、当你编辑已经存在的记录时,很多默认值都是合法的,可以调用 。
$("#purchase_date").formValidator({ triggerevent:"change", onshow:"请输入采购时间!", onfocus:"请输入采购时间", oncorrect:"输入正确" }).functionValidator({fun:isDateTime});