php - Show the correct error validation messages -
i have page 2 forms on it: registration form , login form. each form has submit button. i'm validating both forms, example if press submit button of registration form i'd show error messages of registration form , not of login form. @ moment both error message being shown. there way around this?
<div class="grid-container"> <div class="grid-50 login"> <h3>inloggen</h3> <?php $loginemail = array('placeholder' => "email", 'name' => "loginemail"); $loginpassword = array('placeholder' => "wachtwoord", 'name' => "loginpassword"); $loginsubmit = array('name' => "loginsubmit", 'class' => "btn", 'value' => "inloggen"); $loginforgot = array('name' => "loginforgot", 'class' => "link", 'value' => "wachtwoord vergeten?"); echo form_open('login/inloggen', array('class' => 'grid-100 formc')); echo form_input($loginemail); echo form_password($loginpassword); echo form_submit($loginsubmit); echo form_submit($loginforgot); echo form_close(); ?> <?php echo validation_errors('<p class="error">');?> </div> <div class="grid-50 login"> <h3>registreren</h3> <?php $registername = array('placeholder' => "naam", 'name' => "registername"); $registeremail = array('placeholder' => "email", 'name' => "registeremail"); $registerpassword = array( 'placeholder' => "wachtwoord", 'name' => "registerpassword"); $registersubmit = array('name' => "registersubmit", 'class' => "btn", 'value' => "registreer"); echo form_open('login/register'); echo form_input($registername, set_value('registername')); echo form_input($registeremail, set_value('registeremail')); echo form_password($registerpassword); echo form_submit($registersubmit); echo form_close(); ?> <?php echo validation_errors('<p class="error">');?> </div>
validation in controller
$this->form_validation->set_rules('registeremail', 'email verkeerd', 'trim|required|valid_email'); $this->form_validation->set_rules('registerpassword', 'password te kort', 'trim|required|min_length[4]');
it nicer if create different rules login
, you're registration
.
how?
create form_validation.php
file on application/libraries
inside specify rules you're login , register
example
$config = array( 'login_validation_rules'=>array( array( 'field' => 'username', 'label' => 'the user name', 'rules' => 'required' ), array( 'field' => 'password', 'label' => 'the password', 'rules' => 'required' ) ), 'registration_validation_rules'=>array( array( 'field' => 'email', 'label' => 'the email', 'rules' => 'required|valid_email' ), array( 'field' => 'firstname', 'label' => 'the firstname', 'rules' => 'required' ) ) );
then on you're controller
can catch form submitting , validation rules use example
if($this->input->post('registersubmit')) { if($this->form_validation->run('registration_validation_rules') == false) { //error }else{ //good } }elseif($this->input->post('loginsubmit')){ if($this->form_validation->run('login_validation_rules') == false) { //error }else{ //good } }
at same time you're controller not cluttered rules. makes reading easier can read more of on codigniter manual - validation config file
Comments
Post a Comment