我正在为学校项目开发一个网站。虽然我主要使用PHP,但我还是应该做一些客户端验证。 在Google中花了很短的时间才找到了Validate JQuery插件。 到目前为止,这就是我所拥有的:
<form id="regform" class="well" method="post" action="Registering.php">
<label>Name: <input type="text" placeholder="Type your name" name="Name" class="required" /></label>
<label>Surname: <input type="text" placeholder="Type your surname" name="Surname" class="required" /></label>
<label>Username: <input type="text" placeholder="Type your username" name="Username" class="required" /></label>
<label>Password: <input type="password" placeholder="Type your password" name="Password" class="required" /></label>
<label>Repeat Password: <input type="password" placeholder="Confirm Password" name="Password-confirm" class="required" /></label>
<label>E-Mail: <input type="Email" placeholder="Type your Email" name="Email" class="required email" /></label>
<label>Birthday: <input type="Date" name="Birthday" /></label>
<label>Gender:</label>
<label>Male <input type="radio" name="Gender" value="0" checked> Female <input type="radio" name="Gender" value="1"></label>
<label>Photo: <input type="url" placeholder="Paste an image link" name="PhotoLink" class="url" /></label>
<label><input type="submit" class="btn btn-primary" name="Submit" value="Register in YouTune" /></label>
</form>
这是表格,几乎是标准的注册表格。这里没有什么可以补充的。 然后我有这个小Javascript:
$(document).ready(function(){
$("#regform").validate({
rules: {
Username: {
remote: { url: "/check_username.php", async: false }
}
},
messages: {
Username: { remote: "Username already on use. Pick a different one." }
}
});
});
最新的JQuery库的两个脚本和Validate Plugin的1.10版本都添加在文档的头部。
好吧,为了简短起见,验证工作运行顺利,但远程规则不起作用。就好像它根本不存在,没有错误消息我是否使用已经使用过的用户名提交。 Javascript调用的php文件具有以下脚本:
<?php error_reporting(E_ALL);
require_once("../Clases/User.php");
header('Content-type: application/json');
$vUser = new User();
$vResult = $vUser->GetUserByUsername($_REQUEST["Username"]);
if ($vResult) {
echo false;
} else { echo true; }
&GT;
GetUserByUsername方法转到DataBase并使用给定参数搜索User,如果匹配则返回true,否则返回false。 我已经在没有Javascript远程调用的情况下对其进行了测试,并且工作正常
那么,有谁知道为什么会这样?
先感谢您抽出时间阅读并试图帮助我解决这个小问题。
编辑:解决了。我只需要修复远程调用的源代码。不敢相信我错过了。无论如何,非常感谢你的帮助。答案 0 :(得分:0)
我不太确定,但看看它是否有效;从您的网址中删除“/”。使用“check_username.php”代替“/check_username.php”或绝对网址