способ настройки codeigniter не позволяет выполнять проверку несколькими правилами, вы можете расширить помощник по формам с помощью функции группирования правил (http://ellislab.com/codeigniter/forums/viewthread/120221) или, как я делал в моем application/config/form_validation.php
Я просто объединил несколько групп в собственный набор правил и сослался на единое правило объединенных правил.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config = array(
"campaign" => array(
array(
"field" => "campaign[title]",
"label" => "campaign title",
"rules" => "trim|required|max_length[255]|xss_clean"
)
),
"user" => array(
array(
"field" => "user_info[email]",
"label" => "email",
"rules" => "trim|required|valid_email|is_unique[user_info.email]|max_length[255]|xss_clean"
)
)
);
$config["campaign_user"] = array_merge($config['campaign'], $config['user']);
Интересующая линия - последняя, где объединяются два правила:
$config["campaign_user"] = array_merge($config['campaign'], $config['user']);
и в вашем контроллере вы бы просто назвали единственное правило:
if($this->form_validation->run('campaign_user'))
{
# validation successful
}