使用路由在php中提交前验证表单
我必须在提交前验证一个表单,在这段代码中我使用路由,所以我不能使用$_服务器[“PHP_SELF”](也许)有人能帮我吗使用路由在php中提交前验证表单,php,html,forms,validation,routes,Php,Html,Forms,Validation,Routes,我必须在提交前验证一个表单,在这段代码中我使用路由,所以我不能使用$_服务器[“PHP_SELF”](也许)有人能帮我吗 <form name="user" action="index.php?action=save-report" method="post"> <div class="form-group"> <label for="report"&
<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,只需在输入中添加一个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;
}
}
功能验证(elem){
如果(元素值!=“Ciao”){
elem.classList.add(“notValid”);//例如红色边框或红色标签。。。
document.getElementById(“提交”).disabled=true;
否则{
元素类列表删除(“无效”);
document.getElementById(“提交”).disabled=false;
}
}
既然您已经在使用html5,请看一下:
大多数现代浏览器都会先验证您的输入,然后才能将其发布到服务器,而无需使用javascript
即,如果您希望您的输入允许最少1人和最多180人进入,您可以使用:
<input type="number" id="report" name="report" min="1" max="180" style="width: 5%" class="form-control" required >
请参阅和属性的说明。欢迎使用StackOverflow!您能详细说明“我使用路由,所以我不能使用超全局”的含义吗?@ArSeN在表单的操作中,我重定向到路由文件,但我希望发送一条消息(例如,如果用户写错了什么)在提交之前不刷新页面验证?使用jquery或javascript,我相信在堆栈周围有很多解决方案