我必须在提交前验证表单,在这段代码中我使用路由,所以我不能使用$_SERVER[quot;PHP_SELF"](也许(有人可以帮我?
<form name="user" action="index.php?action=save-report" method="post">
<div class="form-group">
<label for="report">Quante persone ci sono secondo te? </label>
<br>
<input type="number" id="report" name="report" maxlength="180" style="width: 5%" class="form-control" required >
</div>
<br>
<button class="btn btn-primary">Invia</button>
<input type="hidden" id="user__token" name="user[_token]" value="">
<br>
</form>
谢谢
由于您已经使用了html5,请查看html5表单验证:大多数现代浏览器在将输入发布到服务器之前都会对其进行验证,而不需要javascript。
也就是说,如果你希望你的输入允许最少1人和最多180人进入,你可以使用:
<input type="number" id="report" name="report" min="1" max="180" style="width: 5%" class="form-control" required >
请参阅最小和最大属性的说明。
在不刷新的情况下进行验证的最佳方法是Javascript,只需在输入中添加一个onchange属性并通过js进行验证。
<input type="text" onchange="validate(this)" required>
<input type="submit" id="submit" value="Invia">
function validate(elem) {
if (elem.value != "Ciao") {
elem.classList.add("notValid"); //for example red border or red label...
document.getElementById("submit").disabled = true;
else {
elem.classList.remove("notValid");
document.getElementById("submit").disabled = false;
}
}