gpt4 book ai didi

c# - 在某些条件下禁用 mvc3 客户端验证

转载 作者:行者123 更新时间:2023-11-28 02:39:52 25 4
gpt4 key购买 nike

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

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

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

我的问题是其他验证。在本例中,Field 1 还具有最小长度验证。如果字段 1 具有任何不遵守最小长度验证的值,则该表单现在无效且无法提交。

我需要一种方法来禁用对不需要的字段的验证。(并且还能够在选中另一个单选按钮时将它们设置回来)。

由于客户要求,这些字段不能设置为“disabled=disabled”,这解决了问题。

我尝试删除上述字段上的 data-val 属性或将它们设置为 false,然后再次解析我的表单,但惨败。

编辑:只是确定一下。 问题出在客户端验证

最佳答案

请记住,发生了 2 个验证:客户端和服务器端。因此,删除 data-val 属性不会有帮助。

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

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

做起来很简单,您应该能够执行以下操作:

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

关于c# - 在某些条件下禁用 mvc3 客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12841108/

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