validate_email, выдающий ошибку атрибута при запросе ajax - PullRequest
0 голосов
/ 12 июня 2019

Я работаю над проектом, в котором я проверяю поле электронной почты, используя событие onChange для этого поля ввода. Когда я использую validate_email в полученном значении электронной почты, отображается следующая ошибка: AttributeError: 'str' object has no attribute 'GET'

views.py

from django.core.exceptions import ValidationError
from django.core.validators import validate_email

def validate_email(request):
    email = request.GET.get('email',None)
    data = {
        'is_taken' : CustomUser.objects.filter(email__iexact=email).exclude(email__iexact=request.user.email).exists()
    }
    try:
        validate_email(email)
    except ValidationError:
        data['invalid'] = "Invalid email address."
    if data['is_taken']:
        data['error_message'] = 'Email already exists.'
    return JsonResponse(data)

HTML

  $("#email").change(function () {
    var form = $(this).closest("form");
    $.ajax({
      url: form.attr("validate-email"),
      data: $("#email").serialize(),
      dataType: 'json',
      success: function (data) {
        if (data.is_taken) {
          $("#error_msg").text(data.error_message);
          $("#email").val("");}
        else if(data.invalid)
        {
          $("#error_msg").text(data.invalid);
          $("#email").val("");
        }
        else {
          $("#error_msg").html("");
                  }
      }
    });
  });

Также функция проверки наличия электронной почты также получает ошибку атрибута, если я использую validate_email. В противном случае это работает абсолютно нормально.

...