【发布时间】:2011-10-01 15:24:51
【问题描述】:
一般说明:
在我的表单中,我有一个需要远程验证的字段。在远程调用中,我发送表单元素的值以及该元素可能依赖的其他几个表单元素的值(在服务器上用于验证)。
远程验证在调用时效果很好。问题是只有在表单元素中有值时才会调用远程验证。根据发送到远程验证的参数,可能需要此表单元素或可能存在其他验证问题。
如何强制远程验证该字段是否包含数据?
具体场景:
有一个角色列表和一个销售员代码文本输入。
服务器端逻辑:(1)如果选择了salesperson角色,需要salespersoncode; (2) 如果没有选择salesperson角色,salespersoncode必须为空。
请注意,我确实有其他表单元素值发送到服务器,还有其他服务器端逻辑,为了简洁起见,我没有在此处包含,因为它们不会为这个问题增加价值,只会混淆事情。
<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 字段。
我的问题又来了:如何强制对 salespersoncode 字段进行远程验证,无论它是否有数据?
提前致谢
【问题讨论】:
标签: jquery validation