我試圖使用CodeIgniters表單驗證庫,儘管我的驗證規則似乎工作,只要我調用validation_errors(),我得到一個空字符串。CodeIgniter表單驗證,無法獲取驗證錯誤
這是一段代碼片段。
$base_rules = 'required|trim';
$this->_validation_rules = array(
array(
'field' => 'name',
'label' => 'name',
'rules' => $base_rules . '|alpha_numeric|min_length[5]|max_length[30]'
),
array(
'field' => 'price',
'label' => 'Price',
'rules' => $base_rules . '|decimal'
),
array(
'field' => 'duration',
'label' => 'Duration',
'rules' => $base_rules . '|integer'
),
array(
'field' => 'booking',
'label' => 'Booking',
'rules' => $base_rules . '|integer'
)
);
$this->form_validation->set_rules($this->_validation_rules);
if ($this->form_validation->run()) {
// do stuff
}else{
// prints an empty string
var_dump(validation_errors());
exit;
}
有誰知道爲什麼會出現這種情況,以及我如何得到我的錯誤?
非常感謝,雖然有一個問題 - 這是否意味着無法將驗證錯誤存儲在flashdata或其他存儲中,因此我可以在其他地方重定向?乾杯 – AaronDS
@John如果我們發送一個AJAX請求會怎麼樣?當然,那麼我們需要在Controller中獲取錯誤而不是View。那麼,有沒有解決方案可以在Controller中獲取錯誤? 'validation_errors()'在Controller中不起作用。 – muaaz