我尝试过很多不同的事情,包括将$this->load->helper(array('form', 'url'));
添加到autoload.php等等。
当我填写名字和姓氏的值而没有其他内容并按提交时,它只会重定向回if{} else{}
表单(查看)
echo validation_errors();
echo form_open('index/pages/clientcreation',$CustCreationFormAttr);
echo form_label('First Name: ','fname');
echo form_input($CustCreationFirstName);echo '<br>';
echo form_label('Last Name: ','lname');
echo form_input($CustCreationLastName);echo '<br>';
echo form_label('Title: ', 'title');
echo form_input($CustCreationClientTitle);echo '<br>';
echo form_label('Company: ', 'co');
echo form_input($CustCreationCompany);echo '<br>';
echo form_label('Email: ','email');
echo form_input($CustCreationEmail);echo '<br>';
echo form_submit($CustCreationSubmit,'Submit');
控制器
class Clientcreation extends CI_Controller
{
function index(){
####################################
$this->load->view('navigation');
$this->load->view('pages/clientcreation');
$this->load->view('footer');
####################################
$this->load->helper(array('form', 'url'));
$this->load->library( array('form_validation') );
## Set Validation
$this->form_validation->set_rules('fname', 'First Name', 'required');
$this->form_validation->set_rules('lname', 'Last Name', 'required');
## Perform Validation
if ($this->form_validation->run() == FALSE){
$this->load->view('pages/clientcreation');
}
else{
$this->load->view('pages/success/clientRegistrationSuccess');
}
}
}
此外,表单按预期加载...如:
路径也匹配,因为如果我将$this->load->view('pages/clientcreation');
更改为$this->load->view('pages/hi');
,则会调用此视图。我在这里做错了什么?
答案 0 :(得分:0)
这对我来说是一个愚蠢的错误。
验证不起作用的原因是,我试图直接在我的视图中输出验证错误,当我应该在控制器上输出时,如:
if ($this->form_validation->run() == FALSE){
echo validation_errors();
$this->load->view('pages/clientcreation');
}
在控制器端,不在视图上。 (在顶部)