我正在一个项目中,我正在使用该输入字段上的onChange事件来验证电子邮件字段。在提取的电子邮件值上使用validate_email
时,显示以下错误:
AttributeError: 'str' object has no attribute 'GET'
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)
$("#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
,则检查电子邮件是否存在的功能也会出现“属性错误”。否则,它将绝对正常。