- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Spring Boot REST API 将用于检查电子邮件可用性的远程方法调用添加到 jQuery 验证。
当使用 jQuery 的远程函数时,我可以从服务器端看到电子邮件的值和服务器响应,但在 Web 客户端中它不会显示错误“电子邮件已被占用”。
@RestController
public class ValidateController
{
@Autowired
MemberService member;
@RequestMapping(method = RequestMethod.POST, value="/checkEmail")
public ResponseEntity<Object> checkEmail(@RequestParam("email") String email)
{
System.out.println("Requested by ajax validator..." + email);
boolean _email = this.member.existEmail(email);
return new ResponseEntity<Object>(_email, HttpStatus.OK);
}
}
$('#validation-form').validate({
errorElement: 'div',
errorClass: 'help-block',
focusInvalid: false,
ignore: "",
rules: {
email: {
required: true,
email: true,
remote: {
url: "http://localhost:8080/easyscan/checkEmail",
type: "post",
//dataType: "json",
data: {
email: function() {
return $("#email").val();
}
}
}
}
},
messages: {
email: {
required: "Please provide a valid email.",
email: "Please provide a valid email.",
remote: "Email address taken."
}
},
最佳答案
我在使用远程方法时遇到的问题是,我的服务器返回带有许多属性的 JSON,而不仅仅是远程函数想要的 true 或 false。因此,我使用 addMethod 深入研究响应并获取我想要的 JSON 属性的值。
$.validator.addMethod("uniqueEmail", function (value, element) {
let emailOrgName = "yourDomain/uniqueEmailCheck?emailId=" + value;
let result = false;
$.ajax({
type: "GET",
url: emailOrgName,
dataType: "JSON",
success: function (data) {
if (data.data.email === 1) {
console.log(data.data.email + ': This email exists.');
result = false;
} else {
console.log(data.data.email + ': This email does not exist.');
result = true;
}
},
async: false
});
console.log(result);
return result;
});
$("#form").validate({
rules: {
email: {
required: true,
email: true,
uniqueEmail: true,
normalizer: function (value) {
return $.trim(value);
}
}
},
messages: {
email: {
required: "Please enter your email address.",
minlength: jQuery.validator.format("Your email address must consist of at least {0} character."),
maxlength: jQuery.validator.format("Your email address must be no longer than {0} characters."),
uniqueEmail: "Your Email address is already registered on our system.",
}
},
// Bootstrap 4 native error style.
errorElement: "div",
errorClass: "is-invalid",
validClass: "is-valid",
errorPlacement: function (error, element) {
error.addClass("invalid-feedback");
if (element.prop("type") === "checkbox") {
error.insertAfter(element.next("label"));
} else {
error.insertAfter(element);
}
},
highlight: function (element, errorClass, validClass) {
$(element).addClass(errorClass).removeClass(validClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).addClass(validClass).removeClass(errorClass);
}
});
关于java - 来自 jQuery 的远程 AJAX 调用验证检查电子邮件有效性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56344495/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!