我正在使用数据注释进行验证,并使用unobtrusive.js进行客户端验证.
根据jquery.validate.js的默认设置(忽略:":hidden"),默认情况下,我有几个未经验证(我不需要)的隐藏字段.
在我的情况下,我只想验证一个特定的隐藏字段而不是全部因为我无法覆盖
***ignore: ":hidden"*** to ***ignore:[]***.
Run Code Online (Sandbox Code Playgroud)
如果它被更改,那么将考虑所有隐藏字段进行验证,这不是我的要求.
不知道如何为特定的隐藏字段启用验证.
[ValidDate(ErrorMessage = "This is not a valid date.Please enter date in dd/mm/yyyy format.")]
public string HiddenSelectedDob { get; set; }
Run Code Online (Sandbox Code Playgroud)
ValidDate自定义属性在哪里.
在这里,我从三个不同的下拉列表中获取用户对日,月和年的输入,并且对于每个下拉列表的更改事件,HiddenSelectedDob将使用jQuery设置值.
最后提交这个隐藏的文件应该是验证.
我已经为那个隐藏的文件提供了一个类名...
@Html.HiddenFor(m => m.HiddenSelectedDob, new { @class = "validateAlways" })
Run Code Online (Sandbox Code Playgroud)
并覆盖jquery.validate.js的默认设置
$.validator.setDefaults({ ignore: ":hidden:not(.validateAlways)" });
Run Code Online (Sandbox Code Playgroud)
但结果是一样的.该字段未验证.