【发布时间】:2015-09-29 07:12:27
【问题描述】:
我正在尝试创建客户端验证,以查看是否在注册时使用了用户名。此验证应该在用户提交表单之前发生。
为了实现这一点,我使用了 jquery 验证插件:http://jqueryvalidation.org/
我遇到的问题是我收到 403 错误:
POST example.com/check-username 403 (FORBIDDEN)
这是客户端验证的代码: $(document).ready(function () {
$('#register-form').validate({ // initialize the plugin
rules: {
username: {
required: true,
remote: {
url: "/check-username",
type: "post",
data: {
csrfmiddlewaretoken: document.getElementsByName('csrfmiddlewaretoken')[0].value,
username: function() {
return $( "#id_username" ).val();
}
}
}
}
}
});
});
这是我在 views.py 中的验证函数:
def check_username(request):
username = request.POST.get('username', None)
if not username:
return HttpResponseBadRequest("Invalid username")
return User.objects.exists(username=username)
我怀疑这是一个 csrf 错误,但我不太确定如何与 jquery 验证插件一起工作。我该怎么做呢?
【问题讨论】:
标签: jquery python django validation