Не обновлять страницу sh, если при проверке кода в codeigniter произошла ошибка - PullRequest
0 голосов
/ 03 февраля 2020

Я отправляю форму, которая имеет несколько полей и другой набор проверки в воспламенителе кода. Когда мы нажимаем кнопку «Отправить», она перенаправляет и проверяет валидацию и возвращает меня на другую страницу в случае возникновения ошибки. Я не хочу использовать jquery или javascript.

index. php просмотреть файл

<form id="credit_card_form" method="POST" action="/book/final">
    <input class="some_field" type="text" name="some_text" value="hello" />
    <input type="submit" value="Submit">
</form>

validate. php файл контроллера

function final_validate(){
   if(some_text is not good){
       $data['msg'] = "It's not good";
       $view = "index.php";
       $this->load->view($view,$data);
   }
}

, поэтому, если функция возвращает false, страница не должна обновляться. Должен вернуть сообщение.

1 Ответ

0 голосов
/ 03 февраля 2020

Единственный способ выполнить любую сложную проверку ввода без обновления страницы - использовать javascript / ajax, если по какой-то причине вы не хотите использовать это, есть две опции

  1. Используйте html атрибутов для базового c подтверждения ввода, но я бы не стал полагаться на это

     // this will force the user to enter at least 1 character and maximum of 10
     <input class="some_field" type="text" name="some_text" value="hello" required maxlength="10"/>
    
  2. Refre sh страницы, но сохраните любые значения, введенные пользователем, и покажите ошибки

      // show errors if they exist
      <?php if(isset($message)): ?>
           echo 'some error html' . $message. 'some error html';
      <?php endif; ?>
     // show previous value if it exists
    <input class="some_field" type="text" name="some_text" value="<?php $this->input->post('some_text') ? $this->input->post('some_text') : '' ?>" />
    <input type="submit" value="Submit">
    
    // backend
    // do this if validation fails
    $this->session->set_flashdata(['message' => 'Invalid data.']);
    

Даже если вы можете делать вещи таким образом, я настоятельно рекомендуем использовать javascript для проверки на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...