Как показать сообщение проверки формы для определенного поля в codeigniter

Здесь я хочу показать сообщение проверки для разных полей

$this->form_validation->set_rules('email','Email','trim|required|valid_email');
$this->form_validation->set_rules('password', 'Password', 'required');

if ($this->form_validation->run('email') == FALSE)
        {
            print_r('Enter email');
        }


if ($this->form_validation->run('password') == FALSE)
        {
            print_r('Enter password ');
        }

если я укажу пароль и оставлю поле электронной почты пустым, оба сообщения будут отображаться в остальных API

Может кто-нибудь помочь мне


person G.Ashok Kumar    schedule 01.07.2017    source источник
comment
Попробуйте добавить оператор return; после каждого сообщения проверки.   -  person Rikesh    schedule 01.07.2017
comment
Если я добавлю возврат; после каждого сообщения отображается сообщение «Введите адрес электронной почты», если оставить поле пароля пустым, все равно не работает   -  person G.Ashok Kumar    schedule 01.07.2017
comment
попробуйте === вместо ==   -  person Praveen Kumar    schedule 01.07.2017
comment
все еще не работает @PraveenKumar, он показывает, что введите действительный адрес электронной почты, если я укажу неверный пароль   -  person G.Ashok Kumar    schedule 01.07.2017
comment
@ G.AshokKumar Пожалуйста, проверьте мой ответ ...   -  person Praveen Kumar    schedule 01.07.2017


Ответы (3)


В вашем случае я думаю, что это будет работать очень хорошо

$this->form_validation->set_rules('email','Email','trim|required|valid_email');
$this->form_validation->set_rules('password', 'Password', 'required');
$this->form_validation->run();
if (form_error('email'))
{
    echo 'Enter email';
    exit;
}
if (form_error('password'))
{
    echo 'Enter password';
    exit;
}
person Praveen Kumar    schedule 01.07.2017
comment
Добро пожаловать и рад, что это помогло вам... :) - person Praveen Kumar; 01.07.2017

if($this->form_validation->run()==FALSE){
             $errors = $this->form_validation->error_array();
             echo json_encode($errors);
        }

Приведенный выше код также работает нормально, он также показывает правильные сообщения об ошибках в codeigniter остальных серверов.

person G.Ashok Kumar    schedule 04.07.2017

Основание на вашем вопросе

если я укажу пароль и оставлю поле электронной почты пустым, оба сообщения будут отображаться в остальных API

Просто добавьте атрибут, необходимый для ввода.

<form action="https://stackoverflow.com/login" method="post" accept-charset="utf-8">


      <p>
          <input class="email_input" type="email" name="email" value="" placeholder="[email protected]" required>
      </p>
      

      <p>
          <input class="password_input" type="password" name="password" value="" placeholder="Your password" required>
      </p>

      <p>
           <input class="enter-button" type="submit" name="btnSubmit" value="ENTER">
      </p>

      </form>

person Kamarul Anuar    schedule 01.07.2017
comment
Я использую сервер отдыха codeigniter, поэтому нет html-страницы, я делаю это только с контроллером и моделью. - person G.Ashok Kumar; 01.07.2017