在某些情况下禁用mvc3客户端验证 - c#

我正在建立一个需要多个字段的搜索表单。单选按钮指示输入哪些字段是必需的,如下所示:

[ ] Field 1
[.] Field 2
    Field 3
[ ] Field 4

在上述情况下,由于选中了关联的单选按钮,因此现在需要Field 2Field 3。为此,我实现了RequiredIf验证属性,它可以正常工作。

我的问题是其他验证。在这种情况下,Field 1也具有最小长度验证。如果Field 1具有不符合最小长度验证的任何值,则该表单现在无效,无法提交。

我需要一种方法来禁用不需要的字段上的验证。 (也可以在选中另一个单选按钮时将其重新设置)。

该字段不能设置为“ disabled = disabled”,这可以解决此问题,因为客户要求。

我曾尝试在上述字段中删除data-val属性或将其设置为false,然后再次解析我的表单,惨遭失败。

编辑:只需确保。问题是客户端验证。

参考方案

请记住,正在发生两种验证:客户端和服务器端。因此,删除data-val属性将无济于事。

现在,我认为在您的模型中,您正在使用[属性]添加这些验证规则。我认为这种方法不会让您进行条件验证。

在这种情况下,FluentValidation可以为您提供帮助。 http://fluentvalidation.codeplex.com/

这非常简单,您应该可以执行以下操作:

RuleFor(model => model.Field).NotEmpty().When(model => model.FieldEnabled);

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

ASP.NET MVC 5自定义登录,无需脚手架,数据库优先 - c#

我对asp.net和mvc还是很陌生,所以我正在努力学习尽可能多的知识...为此,我从头开始编写博客网站,但是我对身份验证和授权有些困惑。由于我倾向于不真正使用任何脚手架的东西,所以我首先要使用数据库,所以不希望asp.net身份为我创建表。我对散列和加盐密码很酷,并对照数据库检查用户,我遇到的麻烦是将用户设置为登录状态并检查他们应该能够访问什么。我真的很想…

如何添加按钮并重定向到MVC4中的另一个视图? - javascript

我有一个疑问。我有一个称为CustomerMaster的视图。在CustomerMaster视图中,我有一个字段,例如'Area','City'等。如果城市已经在列表中,它将自动显示在Dropdown中。假设我需要的城市不在列表中,这意味着我必须添加该城市。因此,我决定在“城市”字段附近保留一个“添加”按钮。如果单击该按钮,则需要重定向到该视图。那么我该如何…

我可以使用C#将用户信息存储到本地存储中吗 - javascript

我正在一个网站上工作,目前每当用户登录时,我都在使用Cookie存储控制台使用的必要信息。当用户使用c#登录和注销时,我想将用户信息不仅从登录信息存储到cookie,而且还存储在本地存储密钥中。目前,我正在使用javascript将信息存储在本地存储中。但是使用c#可以实现相同的方法吗?请建议我一些方法。谢谢。 参考方案 C#在服务器上执行,而本地存储在客户…

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …