用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3107|回复: 1
收起左侧

[HELP] 一个页面多个表单的验证问题

[复制链接]
发表于 2013-11-30 00:17:40 | 显示全部楼层 |阅读模式
本帖最后由 Rming 于 2013-11-30 00:21 编辑

今天写了找回密码的页面,在一个页面里写上了两个表单,一个表单是提交手机号的,一个是提交email的,使用tab形式显示,供选择,但是碰到表单验证的时候,设置验证规则不比以前那么简单了。

以前都是用这样的形式设置验证条件的

PHP复制代码
$this->form_validation->set_rules
复制代码
,我想CI应该有多表单验证的规则,通过查手册,发现可以通过设置多组验证规则,看了设置方法:


1、在app/config/form_validation.php 中设置多组规则 eg:
PHP复制代码
$config=array(
[p=30, 2, left]'email'=>array(array('field'=>'xxx','label'=>'xxx',rules=>'xxx')),[/p]'phone'=>array(array('field'=>'xxx','label'=>'xxx',rules=>'xxx'))
)
复制代码


2、去验证时候调用 app/controllers/user.php
PHP复制代码
 function password_fogot(){ }
复制代码
里使用
PHP复制代码
$this->form_validation->run('phone')
复制代码
PHP复制代码
$this->form_validation->run('email')
复制代码
验证


使用过程中我有几点疑问:

1、在config目录下设置了多组验证规则后,如果我在controller里的其他控制器中没有说明是哪一组验证规则,而是临时使用的set_rules()设置规则,$this->form_validation->run()去验证,这样之前在config里设置的验证规则组会不会对临时设置的验证有影响?
2、多组验证规则可不可以通过
PHP复制代码
$this->form_validation->set_rules()
复制代码
PHP复制代码
$this->form_validation->run()
复制代码
临时设置的方式实现?
 楼主| 发表于 2013-11-30 00:28:03 | 显示全部楼层
看了set_rules()函数,是可以设置
PHP复制代码
$this->form_validation->set_rules(array('field'=>'xxx','label'=>'xxx',rules=>'xxx'))
复制代码
这样的形式,不过设置多组后,怎么区分哪一组验证规则呢?

本版积分规则