у меня есть следующий код:
<!-- SELECT SERVICE AND PROVIDER -->
<div id = "wizard-frame-1" class = "wizard-frame">
<div class = "frame-container">
<h3 class = "frame-title"><?= lang('step_one_title') ?></h3>
<div class = "form-group">
<label for = "select-service">
<strong>Enter Location:*</strong>
</label>
<input type = "text" id = "location-name" class = "required form-control" maxlength = "120" required/>
</div>
<div class = "frame-content">
<div class = "form-group">
<label for = "select-service">
<strong><?= lang('select_service') ?></strong>
</label>
<select id = "select-service" class = "col-xs-12 col-sm-4 form-control">
</select>
</div>
<div class = "form-group" id = "selectprovider">
<label for = "select-provider">
<strong><?= lang('select_provider') ?></strong>
</label>
<select id = "select-provider" class = "col-xs-12 col-sm-4 form-control"></select>
</div>
<div id = "service-description" style = "display:none;"></div>
</div>
</div>
<div class = "command-buttons">
<button type = "button" id = "button-next-1" class = "btn button-next btn-primary"
data-step_index = "1">
<?= lang('next') ?>
<span class = "glyphicon glyphicon-forward"></span>
</button>
</div>
</div>
и для моей первой части, где пользователь должен ввести свое местоположение, я сделал это обязательным, но когда я нажимаю следующую кнопку, он все равно позволяет мне перейти к следующему этапу, даже если я сделал это обязательным. Может ли кто-нибудь помочь мне, как решить эту ошибку?
@RopAliMunshi Я использую Easy!appointments, поэтому я на самом деле не знаю, где находятся поля проверки






Вы ошиблись, отправив кнопку. Поставить кнопку типа submit вместо кнопки
<button type = "submit" id = "button-next-1" class = "btn button-next btn-primary" data-step_index = "1">
<?= lang('next') ?>
<span class = "glyphicon glyphicon-forward"></span>
</button>
Примечание: Если вы не хотите использовать submit на этом шаге, вам необходимо подтвердить свое поле через javascript или после завершения всех шагов с помощью php.
Обязательный атрибут работает только с полями ввода, которые находятся внутри формы.
Если вы хотите проверить его без формы, вы можете сделать это с помощью javascript следующим образом:
document.getElementById('your_input_id').validity.valid
Вам нужно добавить тег формы до того, как начнется ваш код, а затем закрыть тег формы в конце вашего кода.
Атрибут required в HTML проверяется на стороне клиента, а не на стороне сервера. Это будет работать, только если ваша кнопка имеет атрибут type = "submit" и браузер его поддерживает (большинство современных браузеров поддерживают).
Поскольку вы конкретно упоминаете Codeigniter, я предполагаю, что ваша проблема заключается не только в том, что форма отправляется, но и в том, что ваш контроллер обрабатывает ввод формы. Чтобы обеспечить требуемую проверку (что является хорошей практикой: вы всегда должны применять проверки как на стороне клиента, так и на стороне сервера), вам нужно использовать помощник формы CI и определить соответствующие правила form_validation следующим образом:
$this->form_validation->set_rules('post_field', 'description', 'required');
а затем запустите процедуру проверки формы, выполнив следующие действия:
if ($this->form_validation->run() == false)
{
// here you'd do something if the validation fails, like redirecting back to the form, show an error message or whatever
}
else
{
// here you'd do something if the validation passes like actually processing the form input
}
Опубликуйте код контроллера, который вы вызываете для проверки полей.