gpt4 book ai didi

javascript - Asp.net-MVC 中特定隐藏字段的客户端验证

转载 作者:行者123 更新时间:2023-11-30 07:56:33 25 4
gpt4 key购买 nike

我使用数据注释进行验证,还使用 ​​unobtrusive.js 进行客户端验证。

根据 jquery.validate.js 的默认设置(忽略:":hidden"),我有几个默认情况下未验证(我不需要)的隐藏字段。

在我的例子中,我只想验证一个特定的隐藏字段而不是全部,因此我无法覆盖

                   ***ignore: ":hidden"*** to  ***ignore:[]***.

如果更改,则所有隐藏字段都将被考虑进行验证,这不是我的要求。

不知道如何为特定的隐藏字段启用验证。

 [ValidDate(ErrorMessage = "This is not a valid date.Please enter date in dd/mm/yyyy format.")]
public string HiddenSelectedDob { get; set; }

其中 ValidDate 是自定义属性。

在这里,我从三个不同的下拉菜单中获取用户输入的日期、月份和年份,并且对于每个下拉菜单的更改事件,HiddenSelectedDob 的值将使用 jQuery 设置。

最后提交这个隐藏的文件应该是有效的。

我已经给那个隐藏的文件起了一个类名,比如..

@Html.HiddenFor(m => m.HiddenSelectedDob, new { @class = "validateAlways" })

并覆盖 jquery.validate.js 的默认设置,如

$.validator.setDefaults({ ignore: ":hidden:not(.validateAlways)" });

但结果是一样的。该字段未验证。

最佳答案

好吧,我看到的唯一方法是向要验证的隐藏输入添加一个类。

因此您必须在 View 级别执行此操作。

@Html.HiddenFor(x => x.HiddenSelectedDob, new{@class="validateAlways"})

然后,将validate.js的忽略规则改成

ignore: ':hidden:not('.validateAlways')'

这意味着:忽略所有隐藏的输入,除非它们具有 validateAlways 类。

关于javascript - Asp.net-MVC 中特定隐藏字段的客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38353245/

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