2012-02-13 1 views
0

Я использую следующее правило для моего ввода:Используйте другое правило, если обратный вызов возвращает ложь

callback_validate_host 

Мне нужно сделать следующее условие:

если callback_validate_host является FALSE впоследствии он должен использовать valid_ip правило проверки.

Поэтому, если валидация обоих: callback_validate_host и valid_ip на одном входе, если FALSE, то следует отправить сообщение об ошибке.

Как я могу это сделать?

ответ

1

Как использовать существующий метод validate_host() в сочетании с классом Input '$this->input->valid_ip($ip) метод для создания единого обратного вызова? Что-то вроде этого:

public function your_custom_rule($input) { 
    if (! $this->validate_host($input) && ! $this->input->valid_ip($input)) { 
     // validate_host() returned FALSE *and* it's not a valid IP 
     $this->form_validation->set_message('your_custom_rule', 'Error msg'); 
     return FALSE; 
    } else { 
     return TRUE; 
    } 
} 
+0

О, я не знал, что могу заставить функцию проверки работать отдельно. Благодаря! – Cyclone

+0

@ Циклон: с удовольствием! Стоит отметить, что если вы посмотрите в библиотеке CI 'Form_validation', вы обнаружите, что все правило' valid_ip' является ссылкой на эту функцию из класса Input! –

Смежные вопросы