2012-01-24 146 views
0

我讀過的地方可能使用Codeigniter的表單驗證也用於我自己的變量,而不僅僅是表單的輸入。Codeigniter使用表單驗證變量

例如,我想驗證一個url來說明它是否有效,但不從表單中使用POST或GET檢索它。

你知道如何或有一個鏈接?

+2

你從哪裏讀到它的?加載表單驗證庫並將其與其他含義一起使用有什麼意義?爲什麼不使用一個專用的庫/幫助程序/函數/一段代碼? –

回答

1

對於PHP5以上版本,你可以做到這一點

function validdate_urls($str) { 

    if(!filter_var($str, FILTER_VALIDATE_URL)) 
    { 
     $this->validation->set_message('validate_urls', 'URL Invalid'); 
     return 0; 
    }else { 
     return TRUE; 
    } 

} 

,並調用它在你的驗證規則: -

$rules['link'] = "callback_validate_urls"; 
2

你要找的是表單驗證類中的回調CodeIgniter - 閱讀the user guide進行深入的解釋。

0

是的,你可以通過set_data()方法,在這裏你去。

$this->form_validation->set_data(array(
     'cartId' => $cartId 
)); 

$this->form_validation->set_rules('cartId', 'Card ID', 'trim|required|is_natural_no_zero'); 

if ($this->form_validation->run() == FALSE) { 
    echo 'Invalid: ' . validation_errors(); 
} else { 
    echo 'Valid'; 
}