gpt4 book ai didi

jquery - 使用JQuery Validation Plugin,我想更改远程验证方法

转载 作者:行者123 更新时间:2023-12-01 00:40:14 24 4
gpt4 key购买 nike

我正在使用 jquery 验证插件,使用该插件的远程方法根据数据库验证电子邮件地址。

我需要检查该电子邮件地址是否已在我们的数据库中。最初,脚本与服务器端代码相结合只是简单地检查我们数据库中的电子邮件地址并返回 true 或 false,这成功了。

我现在需要添加一个附加功能,因为现在我们可以在数据库中拥有相同的电子邮件地址,只要记录的 siteid 不同,即,如果 fred@bloggs.com 的记录与 siteid= site1已存在于数据库中,您不能再次添加siteid=site1的fred@bloggs.com,但可以添加siteid=site2的fred@bloggs.com。

我已经确认服务器端代码正在运行,并且对于给定的电子邮件地址和 siteid,它会按预期返回 true 或 false。

每当 siteid 选择框发生更改时,我想重新验证电子邮件字段。目前,它似乎记得它之前的验证(它已经在加载时验证)并且不受 siteid 更改的影响,除非我将电子邮件从 fred@bloggs.com 更改为其他内容,然后将其更改回来,然后它会正确验证为新的站点 ID。我尝试了删除规则和添加规则的组合,但似乎没有任何效果。

救命!

<html>
<head>
<script type="text/javascript">
$(document).ready(function () {
var enquiryform = {
rules: {
email: {
required: true,
email: true,
remote: 'emailcheck2.asp?siteid=' + $('#siteid').val()
}
},
messages: {
email: {
remote: 'exists already!'
}
}
};

var validatedform = $(".validatedform").validate(enquiryform).form();
$("#siteid").bind("change", function(e){
enquiryform.rules.email.remote='emailcheck2.asp?siteid=' + $('#siteid').val();
});
});
</script>
</head>
<body class="contactadd">
</head>
<body>
<form method="Post" class="validatedform">
<input class="email" id="email" name="email" type="text">
<select id="siteid" name="siteid">
<option value="1">Site 1</option>
<option value="2">Site 2</option>
</select>
<input id="submitbutton" type="submit" value="Create">
</form>
</body>
</html>

最佳答案

出于性能原因,该插件会缓存该值。作为目前的解决方法,您可以尝试在依赖值发生更改时手动使缓存失效:

$("#site").change(function() {
$("#email").removeData("previousValue");
});

关于jquery - 使用JQuery Validation Plugin,我想更改远程验证方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1433139/

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