在使用ajax和JavaScript提交页面之前,按数字的第四位之后如何进行验证?
我正在处理一个未保存的现有邮政编码,这是一个要求。在使用keyup函数按下4位数字后,我调用了ajax。我的ajax工作正常,但无法检索验证消息,我的意思是,在ajax调用之后,相同的代码将保存在数据库中在使用ajax和JavaScript提交页面之前,按数字的第四位之后如何进行验证?,javascript,jquery,ajax,spring-boot,Javascript,Jquery,Ajax,Spring Boot,我正在处理一个未保存的现有邮政编码,这是一个要求。在使用keyup函数按下4位数字后,我调用了ajax。我的ajax工作正常,但无法检索验证消息,我的意思是,在ajax调用之后,相同的代码将保存在数据库中 //Trigger ajax event on sender address after 4th character typed. $('#postalCode').on('keyup', function () { if ($(this).val().length == 4) {
//Trigger ajax event on sender address after 4th character typed.
$('#postalCode').on('keyup', function () {
if ($(this).val().length == 4) {
type: "get",
$.ajax({
url: "/masterController/checkPostalcode?ajax=true",
data: {
postalCode: $("#postalCode").val()
},
success: function (result) {
alert("user already exists");
//Now validate here show message postal code already exist. How?
},
error: function (response) {
$('#ErrorContainer').hide();
}
});
}
});
//此验证部分
$("#subOfficeForm").validate({
rules: {
"postalCode": {
required: true,
minlength: 4,
maxlength: 4,
digits: true
},
"SubOffice": {
required: true,
minlength: 2
}
},
errorPlacement: function (error, element) {
if ((element.attr("name") == "postalCode")) {
$("#ReceiverErrorContainer").html(error);
$("#ReceiverErrorContainer").show();
}
else if ((element.attr("name") == "SubOffice")) {
$("#ErrorContainer").html(error);
$("#ErrorContainer").show();
}
//displays a tooltip
element.attr('title', error.text());
$(".error").tooltip({
position: {
my: "left+5 center",
at: "right center"
},
trigger: "hover"
});
},
//highlight the error field with red
highlight: function (element, error) {
$(element).css('background', '#FFCCCB');
},
// Called when the element is valid:
unhighlight: function (element) {
$(element).css('background', '#ffffff');
}
});
//这是快照
//并输入第四位数字
这有一些问题。看起来消息是从服务器端返回的,因此需要在服务器端进行一些调整。此外,JS存在于客户端,只是一个建议(可以对其进行操作,然后人们可以将注入写入您的数据库),您必须在服务器端验证安全性。您可能希望在两侧都使用正则表达式来确保验证
[0-9]{4}
如果我没有弄错,您需要像这样检查验证结果:
success: function (result) {
if(!result)
{
showErrorAlert('error message') ;
preventDefault();
}
else{
//submit data
}
},
我不明白你到底想做什么,请提供更多详细信息。我想验证注册用户详细信息,如果电子邮件已存在,则不会提交表单提交表单提交表单之前,请在此处完成相同的工作我想打印邮件邮政编码已存在,请编写另一个邮件,然后提交表单。若要指定控制器的操作返回的内容,请将操作代码添加到问题“masterController/checkPostalcode”中。控制器返回布尔值。