Codeigniter 3.X系での入力チェックが2.X系と異なりエラー処理が意図しない形となっています。
問題となっている入力チェックルールは「必須入力(required)」で
$this->form_validation->set_rules('code','コード','required|exact_length[3]|alpha_numeric|callback_check_duplicate_code');
おそらく対象となる箇所は
2.X系で
function required($str) { if ( ! is_array($str)) { return (trim($str) == '') ? FALSE : TRUE; } else { return ( ! empty($str)); } }
3.X系では
public function required($str) { return is_array($str) ? (empty($str) === FALSE) : (trim($str) !== ''); }
バージョンアップでかなり記述が変わっています
3.X系では上記の入力済の項目も
「必須です」と警告されます。
これで必須入力の要件を満たしているのでしょうか?
どのように対処すればよいでしょうか?
ご教授頂きたくお願いいたします。
あなたの回答
tips
プレビュー