这个rule怎么写 [ 2.0 版本 ]
需求是这样的:要求选择时间范围,两个输入框 开始时间 和 结束时间 ,2个要求,当结束时间有内容,则开始时间不能为空,且结束时间应大于开始时间 。
我想着用 whenclient吧
['todate', '????',//问号这里该怎么填
'message' => '结束时间应大于开始时间.',
'whenClient' =>"function (attribute, value) {
return $('#todate').value > $('#fromdate').value;}"]
搞搞的传奇 补充于 2017-05-10 22:20
谢谢各位这么速度的回复,我晚点去测一下。
需求主要是前端自动生成js验证的
最佳答案
-
dashixiong 发布于 2017-05-10 15:50 举报
['fromdate', 'string'], ['todate', 'validateCheckDate'],
public function validateCheckDate($attribute, $params){ if (!$this->hasErrors()) { if(isset($this->todate)){ if(isset($this->fromdate)){ if(strtotime($this->todate) <= strtotime($this->fromdate)){ $this->addError($attribute, '结束时间应大于开始时间!'); } }else{ $this->addError($attribute, '请填写结束时间!'); } } } }
isset 如果判断不行就换成empty 或者等于空什么的判断,我不知道你传的是字符串还是什么
共 1 条回复
其他 4 个回答
-
自己写认证规则!(例子)
http://www.jb51.net/article/82637.htm -
zcx147716565 回答于 2017-05-10 19:00 举报
自己写一个函数,楼上的办法
-
johnny1991 回答于 2017-05-10 20:08 举报
比较全面的写法,可以生成前端js
http://www.yiichina.com/tutorial/1233
搞搞的传奇
注册时间:2015-02-24
最后登录:2020-06-04
在线时长:24小时46分
最后登录:2020-06-04
在线时长:24小时46分
- 粉丝8
- 金钱5
- 威望10
- 积分345