gpt4 book ai didi

jquery-plugins - JQuery验证插件: Use Custom Ajax Method

转载 作者:行者123 更新时间:2023-12-01 00:36:07 25 4
gpt4 key购买 nike

寻求有关 Jquery form validation plugin 的帮助如果可能的话。

我通过对数据库进行 ajax 调用来验证模糊表单的电子邮件字段,该调用会检查电子邮件字段中的文本当前是否在数据库中。

    // Check email validity on Blur
$('#sEmail').blur(function(){
// Grab Email From Form
var itemValue = $('#sEmail').val();
// Serialise data for ajax processing
var emailData = {
sEmail: itemValue
}
// Do Ajax Call
$.getJSON('http://localhost:8501/ems/trunk/www/cfcs/admin_user_service.cfc?method=getAdminUserEmail&returnFormat=json&queryformat=column', emailData, function(data){

if (data != false) {
var errorMessage = 'This email address has already been registered';
}
else {
var errorMessage = 'Good'
}
})
});

我想做的就是将此调用合并到我的 JQuery 验证插件的规则中...例如

    $("#setAdminUser").validate({
rules:{
sEmail: {
required: function(){
// Replicate my on blur ajax email call here
}
},
messages:{
sEmail: {
required: "this email already exists"

}
});

想知道是否有办法实现这一目标?非常感谢

最佳答案

您正在执行 AJAX 请求,因此:当您的自定义验证器返回 true 或 false 时,验证已经完成工作。

您将需要使用异步。另请参阅这篇文章:How can I get jQuery to perform a synchronous, rather than asynchronous, Ajax request?

假设我们有一个自定义验证来检查唯一的手机号码,因此我们将添加如下新方法来检查唯一的手机号码:

jQuery.validator.addMethod("uniqueMobile", function(value, element) {
var response;
$.ajax({
type: "POST",
url: <YOUR SERVER SCRIPT/METHOD>,
data:"mobile="+value,
async:false,
success:function(data){
response = data;
}
});
if(response == 0)
{
return true;
}
else if(response == 1)
{
return false;
}
else if(response == 'logout')
{
return false;
}
}, "Mobile is Already Taken");

关于jquery-plugins - JQuery验证插件: Use Custom Ajax Method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2191674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com