【发布时间】:2014-07-29 02:48:57
【问题描述】:
我正在使用验证插件和 Laravel 4.2。 我尝试通过 ajax 检查用户名,但无法正常工作。 用户名总是可以使用的,不管是否存在。
我的第二个问题是,如果我使用远程验证规则,我无法提交表单。
有人知道我做错了什么吗?因为在 chrome 日志中一切正常,请求已发送,我可以看到调试消息。
php
<?php
use App\Models\User;
class ValidationController extends BaseController {
public function getCheckUsername()
{
if(Request::ajax()) {
$user = User::where('username', Input::get('username'))->get();
if($user->count()) {
return Response::json(array('msg' => 'true'));
}
return Response::json(array('msg' => 'false'));
}
}
}
JS
$(document).ready(function()
{
$("form").validate({
rules: {
username: {
required: true,
rangelength:[3,255],
remote: {
url:"http://"+location.host+"/validation/checkusername",
type: "get",
success: function(msg){
if(msg.msg == 'true') {
console.log('exists');
return true;
}
console.log('doesnt exists');
return false;
}
},
},
messages: {
username: {
required: "Please Enter Username!",
remote: "Username already in use!"
}
}
});
});
我也尝试通过 $.validator.addMethod() 创建自己的规则,但这也不起作用。
【问题讨论】:
-
这是一个跨域ajax请求吗?
-
不,不是。与您看到的域相同。
标签: javascript jquery ajax validation laravel