添加注册页面用户名,邮箱已被注册的ajax表单验证

This commit is contained in:
sxw@401
2015-09-17 10:53:33 +08:00
parent a3ff63aacf
commit 2b4ec33945
2 changed files with 24 additions and 28 deletions

View File

@@ -5,7 +5,7 @@ from django.shortcuts import render
from django.db.models import Q from django.db.models import Q
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.response import Response
from utils.shortcuts import serializer_invalid_response, error_response, success_response, paginate from utils.shortcuts import serializer_invalid_response, error_response, success_response, paginate
from utils.captcha import Captcha from utils.captcha import Captcha
@@ -120,39 +120,35 @@ class UserChangePasswordAPIView(APIView):
class UsernameCheckAPIView(APIView): class UsernameCheckAPIView(APIView):
def post(self, request): def get(self, request):
""" """
检测用户名是否存在,存在返回True,不存在返回False 检测用户名是否存在,存在返回状态码400,不存在返回200
--- ---
request_serializer: UsernameCheckSerializer
""" """
serializer = UsernameCheckSerializer(data=request.data) username = request.GET.get("username", None)
if serializer.is_valid(): if username:
try: try:
User.objects.get(username=serializer.data["username"]) User.objects.get(username=username)
return success_response(True) return Response(status=400)
except User.DoesNotExist: except User.DoesNotExist:
return success_response(False) return Response(status=200)
else: return Response(status=200)
return serializer_invalid_response(serializer)
class EmailCheckAPIView(APIView): class EmailCheckAPIView(APIView):
def post(self, request): def get(self, request):
""" """
检测邮箱是否存在,存在返回True,不存在返回False 检测邮箱是否存在,存在返回状态码400,不存在返回200
--- ---
request_serializer: EmailCheckSerializer
""" """
serializer = EmailCheckSerializer(data=request.data) email = request.GET.get("email", None)
if serializer.is_valid(): if email:
try: try:
User.objects.get(email=serializer.data["email"]) User.objects.get(email=email)
return success_response(True) return Response(status=400)
except User.DoesNotExist: except User.DoesNotExist:
return success_response(False) return Response(status=200)
else: return Response(status=200)
return serializer_invalid_response(serializer)
class UserAdminAPIView(APIView): class UserAdminAPIView(APIView):

View File

@@ -7,7 +7,7 @@
<form id="register-form"> <form id="register-form">
<div class="form-group"> <div class="form-group">
<label for="username">用户名</label> <label for="username">用户名</label>
<input type="text" class="form-control input-lg" id="username" name="username" placeholder="用户名" data-error="请填写用户名" required autofocus> <input type="text" class="form-control input-lg" id="username" name="username" placeholder="用户名" data-remote="/api/username_check/" data-remote-error="该用户名已被注册!" data-error="请填写用户名" required autofocus>
<div class="help-block with-errors"></div> <div class="help-block with-errors"></div>
</div> </div>
<div class="form-group"> <div class="form-group">
@@ -17,7 +17,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="email">邮箱地址</label> <label for="email">邮箱地址</label>
<input type="email" class="form-control input-lg" id="email" name="email" placeholder="邮箱地址" data-error="请填写正确的邮箱地址" required> <input type="email" class="form-control input-lg" id="email" name="email" placeholder="邮箱地址" data-remote="/api/email_check/" data-remote-error="该邮箱已被注册!" data-error="请填写正确的邮箱地址" required>
<div class="help-block with-errors"></div> <div class="help-block with-errors"></div>
</div> </div>
<div class="form-group"> <div class="form-group">