我有以下代码:
//*[@id="studentListTable"]/thead/tr/th[contains(., "Actions")]//following::button[
following::*[@id="studentListTable_info"]
]
在我必须输入用户位置的第一部分中,我要求输入,但是当我单击“下一步”按钮时,即使我已要求输入,它仍然允许我进入下一个阶段。有人可以协助我解决该错误吗?
答案 0 :(得分:0)
您误提交按钮。将按钮类型为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操作后验证您的字段
答案 1 :(得分:0)
必填属性仅适用于表单内的输入字段。
如果您不想使用任何形式对其进行验证,则可以使用javascript这样的代码来实现:
document.getElementById('your_input_id').validity.valid
答案 2 :(得分:0)
您需要在给定代码开始之前添加表单标签,然后在给定代码末尾关闭表单标签。
答案 3 :(得分:0)
HTML中的required
属性是在客户端而不是服务器端验证的。仅当您的按钮具有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
}