我有一个问题如下 我已经设置了这样的规则
$this->form_validation->set_rules('image', 'Image', "callback_image_upload['image',".$id."]");
和这样的功能
function image_upload($param,$value,$id=''){
if($_FILES[$value]['name'] == ''){
$this->form_validation->set_message('image_upload',
'The %s field can not be Null');
return false;
}else{
return true;
}
}
在提交表单时我收到了这样的错误 遇到PHP错误
严重性:注意
消息:未定义的索引:'image',
请尽可能帮助我
答案 0 :(得分:0)
确保您的表单选择器正确,如..
Html>>
<form action="" method="post" enctype="multipart/form-data">
<input type='file' name='userfile' required>
在控制器验证
if (empty($_FILES['userfile']['name']))
{
$this->form_validation->set_rules('userfile', 'Document', 'callback_file_selected_test');
}
if ($this->form_validation->run() == FALSE) {
//error
}
else{
// success
}
function file_selected_test(){
$this->form_validation->set_message('file_selected_test', 'Please select file.');
if (empty($_FILES['userfile']['name'])) {
return false;
}else{
return true;
}
}
您可以在stackoverflow中的每个位置检查此代码。如有任何其他问题,请对此发表评论。
答案 1 :(得分:0)
$parameters = 'image' . ',' . $id;
$this->form_validation->set_rules('image', 'Image', 'callback_validate_image['.$parameters.']');
function validate_image($param,$x){
list($value, $id) = explode(',', $x);
if($id){
$hdn = "h_".$value;
if($this->input->post($hdn) == ''){
if(empty($_FILES[$value]['name'])){
$this->form_validation->set_message('validate_image', 'The %s field is required.');
return false;
}else{
return true;
}
}else{
return true;
}
}else{
if($_FILES[$value]['name'] == ''){
$this->form_validation->set_message('validate_image', 'The %s field is required.');
return false;
}else{
return true;
}
}
}
它全部用控制器自己编写。如果可能,请发布您的答案,以便尽可能将validate_image函数移动到模型。谢谢你的努力