I have tried many different things including adding $this->load->helper(array('form', 'url')); to autoload.php, among other things.
When I fill out a value for first name and last name and nothing else and press submit, it just redirects back to the same page (not to clientRegistrationSuccess.php) as specified in the if{} else{}
Form (View)
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');
Controller
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');
}
}
}
Additionally, the form is loading as intended… like:

The paths match up too, because if I change $this->load->view('pages/clientcreation'); to $this->load->view('pages/hi'); it is calling this view. What am I doing wrong here?
This was a silly mistake on my part.
The reason the validation wasn’t working is, I was trying to output the validation errors directly in my view, when I should have been outputting on the controller, like:
on the controller end, NOT on the view.
(at the top)