2014-12-02 112 views
0

我正在使用jQuery遠程驗證來通過調用DJango視圖來檢查電子郵件是否可用於註冊。jQuery遠程驗證不顯示錯誤消息DJango

views.py

def check_email(request): 
    is_available = "false" 
    if request.is_ajax(): 
    username = request.POST.get("username") 
    try: 
     User.objects.get_by_natural_key(username) 
    except User.DoesNotExit: 
     is_available = "true" 
    return HttpResponse(is_available) 

url.py

url(r'^check_email/$', 'app.views.check_email', name='check_email') 

jQuery的

{$("#myform").validate({ 
rules: { 
    email: { remote: "check-email/" } 
} 
messages: { 
    email: {remote: "The email is already taken."} 
} 
}); 

jQuery的代碼不被渲染的錯誤消息。我錯過了什麼?謝謝。

+1

您的網址配置(check_emails /),並在郵件規則您的網址(檢查-電子郵件/),不符合 – xecgr 2014-12-02 06:30:14

+1

你可能會想嘗試返回TRUE;和'假'而不是一個字符串。 – 2014-12-02 08:26:29

回答

2
def check_email(request): 
    is_available = "false" 
    if request.is_ajax(): 
     username = request.GET.get("username") # Change post to get 
     try: 
      User.objects.get_by_natural_key(username) 
     except User.DoesNotExit: 
      is_available = "true" 
    return HttpResponse(is_available) 

$("#myform").validate({ 
    rules: { 
     email: { 
      remote: "/check-email/", 
      type: "get", // get method 
     } 
    }, // add comma 
    messages: { 
     email: {remote: "The email is already taken."} 
    } 
});