Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在asp.net MVC 3中防止对表单的一部分进行验证_Asp.net Mvc_Asp.net Mvc 3_Validation - Fatal编程技术网

Asp.net mvc 在asp.net MVC 3中防止对表单的一部分进行验证

Asp.net mvc 在asp.net MVC 3中防止对表单的一部分进行验证,asp.net-mvc,asp.net-mvc-3,validation,Asp.net Mvc,Asp.net Mvc 3,Validation,我有一个表单,其中11个字段表示发货地址,11个字段表示账单地址,另外还有一个复选框,名为“发货地址与账单地址相同”。选中该框后,我使用jquery在包含发货地址输入的div上调用.hide。然后如何禁用发货地址字段的客户端和服务器端验证?@Brad 在MVC2中,需要使用万无一失的验证,MVC Contrib中提供了这种验证,因为它是开箱即用的模型感知验证。然后需要您使用RequiredIf属性,这样只有选中复选框时才需要shipping字段。您仍然可以使用jquery隐藏/显示字段 在MVC

我有一个表单,其中11个字段表示发货地址,11个字段表示账单地址,另外还有一个复选框,名为“发货地址与账单地址相同”。选中该框后,我使用jquery在包含发货地址输入的div上调用.hide。然后如何禁用发货地址字段的客户端和服务器端验证?

@Brad

在MVC2中,需要使用万无一失的验证,MVC Contrib中提供了这种验证,因为它是开箱即用的模型感知验证。然后需要您使用RequiredIf属性,这样只有选中复选框时才需要shipping字段。您仍然可以使用jquery隐藏/显示字段

在MVC3中,有内置的模型感知验证,但我想其他人可以在这里告诉我如何做您需要的事情。MVC本身可能有RequiredIF属性


如果您需要更多帮助,我相信我甚至可以提供更多帮助和代码示例。

添加自定义属性,如[RequiredIf]as

尝试MVC4或MV3中的RequiredIf属性的此解决方案可在

可以允许用户根据选中的复选框提交不完整的表单或完全验证的表单。确保在RequirediftAttribute.cs中更改以下内容

[AttributeUsageAttributeTargets.Property,AllowMultiple=true,Inherited=true]

关于上述链接

要验证DropDownList,请确保在model.cs文件中执行以下操作

在所有变量的底部添加IsCompleted布尔变量

    [Display(Name = "Completed")]
    public bool IsCompleted { get; set; }
例如,要验证DropDownList,请在控制器内的ViewBag中传递数据库集

 ViewBag.Relationships = db.Relationships; 
在视图中,添加下拉列表,如下所示

@Html.DropDownListFor(model => model.RelationshipId, new     SelectList(ViewBag.Relationships, "RelationshipId", "RelationshipName"), "--- Select ---")   <br />
                                 @Html.ValidationMessageFor(model => model.RelationshipId)

我已经通过使用JavaScript将账单地址字段中的值放入发货地址字段中解决了这个问题,但我不想这样做。似乎没有任何跨域验证属性可以做到这一点,所以我想我可以根据CompareAttribute构建一个模式。有人已经有了这样的例子吗?有人知道MVC 3的MVC Contrib何时发布吗?