Порядок проверки правил проверки кода - PullRequest
0 голосов
/ 04 июня 2019

Я установил эти правила на контроллере

public function checkLogin()
    {
        $this->load->helper('form');
        $this->load->library('form_validation');

        $this->form_validation->set_rules(
            'username', 
            'nombre de usuario', 
            'required',
            array('required' => 'Debes introducir un  %s.')
        );
        $this->form_validation->set_rules(
            'pass',
            'contraseña',
            'required',
            array('required' => 'Debes introducir una  %s.')
        );
        $this->form_validation->set_rules(
            'bad_login',
            'login',
            'callback_checkCredentials'
        );

        if ($this->form_validation->run() == FALSE) {
            $this->load->view('header');
            $this->load->view('login/login_view');
            $this->load->view('footer');
        } else {
            $this->session->set_userdata('logged',true);
            $this->session->set_userdata('user',$this->input->post('username'));
            redirect('main');
        }
    }

    public function checkCredentials(){
        if($this->input->post('username') == $this->user &&  $this->input->post('pass') == $this->pass){

            return true;
        }else{
            $this->form_validation->set_message('checkCredentials', 'El usuario/contraseña introducido no es correcto');
            return false;
        }
    }

и вид

<div class="container">
    <div class="col-md-4">
        <?php $this->load->helper('form'); ?>
        <?php echo form_open('checkLogin'); ?>
        <?php echo form_error('bad_login'); ?>
        <?php echo form_error('username'); ?>
        <div class="form-group">
            <?php echo form_label('Usuario:'); ?>
            <?php echo form_input(array('id' => 'username', 'name' => 'username', 'class'=>'form-control', 'placeholder'=>"Nombre de usuario")); ?>
        </div>
        <?php echo form_error('pass'); ?>
        <div class="form-group">
            <?php echo form_label('Contraseña:'); ?>
            <?php echo form_password(array('id' => 'pass', 'name' => 'pass', 'class'=>'form-control', 'placeholder'=>"Contraseña")); ?>
        </div>
        <?php echo form_submit(array('id' => 'submit', 'value' => 'Enviar', 'class'=>'btn btn-primary')); ?>
        <?php echo form_close(); ?>
    </div>
</div>

Это форма входа в систему и ввод для пользователя, а другого - для пароля, но если пароль или имя пользователя пустые, нет необходимости проверять правильность пароля и имени пользователя (и отображать сообщение об ошибке), я я не уверен, как это сделать

1 Ответ

0 голосов
/ 04 июня 2019

Вы можете просто сделать это:

$username = trim($this->input->post('usename'));
$password = trim($this->input->post('password'));
if(!empty($username) && !empty($password))
{
    // do you validation
}
else
{
    // maybe show error message
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...