使用路由在 php 中提交之前验证表单
Validate form before submit in php with the routes
我必须在提交前验证表单,在此代码中我使用路由,所以我不能使用 $_SERVER["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>
谢谢
最好的不刷新验证方式是Javascript,只要在input上加一个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;
}
}
既然您已经在使用 html5,请查看 html5 form validation:
大多数现代浏览器会在 post 将其发送到您的服务器之前验证您的输入,而不需要 javascript.
即如果您希望您的输入允许最少 1 人和最多 180 人进入,您可以使用:
<input type="number" id="report" name="report" min="1" max="180" style="width: 5%" class="form-control" required >
我必须在提交前验证表单,在此代码中我使用路由,所以我不能使用 $_SERVER["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>
谢谢
最好的不刷新验证方式是Javascript,只要在input上加一个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;
}
}
既然您已经在使用 html5,请查看 html5 form validation: 大多数现代浏览器会在 post 将其发送到您的服务器之前验证您的输入,而不需要 javascript.
即如果您希望您的输入允许最少 1 人和最多 180 人进入,您可以使用:
<input type="number" id="report" name="report" min="1" max="180" style="width: 5%" class="form-control" required >