gpt4 book ai didi

jquery 验证远程 - 验证字段中是否有数据

转载 作者:行者123 更新时间:2023-12-03 22:49:52 25 4
gpt4 key购买 nike

一般说明:
在我的表单中,我有一个需要远程验证的字段。在远程调用中,我发送表单元素的值以及该元素可能依赖的其他几个表单元素的值(在服务器上用于验证)。

远程验证在调用时效果很好。问题是只有当表单元素中有值时才会调用远程验证。根据发送到远程验证的参数,可能需要此表单元素,或者可能存在其他验证问题。

如何强制远程验证该字段是否有数据?

具体场景:
获得角色列表和销售人员代码文本输入。
服务器端逻辑:(1)如果选择了销售人员角色,则需要销售人员代码; (2) 如果未选择销售人员角色,则销售人员代码必须为空。

请注意,我确实有其他表单元素值发送到服务器,并且为了简洁起见,我没有在此处包含其他服务器端逻辑,因为它们不会为这个问题增加值(value),只会造成困惑。

<select name="roles" id="roles" multiple="multiple" size="5"></select>
<input type="text" name="salespersoncode" id="salespersoncode" />

$("#add_user_form").validate({
rules: {
salespersoncode: {
remote: {
type: "post",
url: "/AdminJson/CheckSalespersonCode",
dataType: "json",
data: {
salespersoncode: function () { return $("#salespersoncode").val(); },
roles: function () { return $("#roles").val(); }
}
}
}
}
}

我不想放入“必需”验证选项,因为并非在所有情况下都需要销售人员代码字段。

我的问题又来了:如何强制对 salespersoncode 字段进行远程验证,无论它是否有数据?

提前致谢

最佳答案

在调用 validate() 方法之前添加这段代码:

$.validator.methods._required = $.validator.methods.required;
$.validator.methods.required = function( value, element, param )
{
if ( $(element).is('[remote-validator]') && !$(element).hasClass('required') )
return true;
return $.validator.methods._required.call( this, value, element, param );
}

关于jquery 验证远程 - 验证字段中是否有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6631036/

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