我正在使用jquery验证插件验证表单......
rules: {
Name: "required",
MobileNo: {
required: true,
minlength: 10, remote: '<%=Url.Action("getClientMobNo", "Clients") %>'
},
Address: "required"
},
messages: {
Name: "please provide a client name",
MobileNo: {
required: "Please provide a mobile phone no",
rangelength: jQuery.format("Enter at least {0} characters"),
remote: jQuery.format("This MobileNo is already in use")
},
Address: "please provide client address"
},这在添加表单验证上工作得很好,但我使用相同的表单进行编辑,在这里他们可以使用相同的手机号,但我的插件验证了mobileno说已经有了一个手机号。而是如何基于条件执行远程属性,
MobileNo: {
required: true,
minlength: 10,
if($("#HfId").val() == ""){
remote: '<%=Url.Action("getClientMobNo", "Clients") %>'
}
},这是有效的jquery条件验证语句....如何根据条件跳过远程属性...
发布于 2010-05-28 14:23:27
好吧,我会做这样的事情
例如,我的php页面是member.php。
要添加,请发送类似以下member.php?action=add的URL
<?
$action = $_GET['action'];
?>
<script>
$("#frmmember").validate({
rules: {
name: {
<? if($action=='add') { ?>
required: true,
<? } ?>
rangelength: [4, 50] },
email: { required: true, rangelength: [5, 50], email: true },
phone: { required: true, number:true, rangelength: [7, 10] }
},
onkeyup: false
});
</script>在这种情况下,只有当url变量"action"中有“required=true”时,验证规则才会应用。
发布于 2010-05-28 13:45:20
您将需要一些服务器端。处理编辑或应用不同的Url.Action。
执行不同的操作来管理它正在编辑细节,而不是以相同的方式应用它们,因此mobileno可以是相同的。
祝好运。
是因为服务器端验证而抛回的,还是甚至在到达之前就抛回了?
发布于 2010-05-29 01:47:03
使用jquery扩展方法怎么样?如果是新记录,则添加remote属性;如果是并退出记录,则添加use和empty对象。
rules: {
Name: "required",
MobileNo: $.extend(
{
required: true,
minlength: 10
},
($("#HfId").val() == "")?{remote: '<%=Url.Action("getClientMobNo", "Clients") %>'}:{}
),
Address: "required",
messages: {
Name: "please provide a client name",
MobileNo: {
required: "Please provide a mobile phone no",
rangelength: "Enter at least {0} characters",
remote: "This MobileNo is already in use"
},
Address: "please provide client address"
}
}https://stackoverflow.com/questions/2894635
复制相似问题