gpt4 book ai didi

jquery - MVC : How to enable client side validation on hidden fields

转载 作者:行者123 更新时间:2023-12-03 21:41:07 28 4
gpt4 key购买 nike

@Scripts

 <script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"></script>

@View

@using (Html.BeginForm("TestModelState", "RandD", FormMethod.Post, new {id="form123" }))
{
@Html.TextBoxFor(x => x.htmlText, new { style="display:none"})<br />
@Html.ValidationMessageFor(x => x.htmlText)
<div>
@Html.TextBoxFor(x => x.Uprop1)<br />
@Html.ValidationMessageFor(x => x.Uprop1)
</div>
<input type="submit" value-="Submit" onclick="abc()" />
}

我已经尝试过

  1. 在 validate.js 中将 ignore: ":hidden", 替换为 ignore: ""
  2. var validateMeta = $('#form123').validate(); validateMeta.settings.ignore = "";

  3. $.validator.setDefaults({ignore: ""});

  4. $.validator.setDefaults({ignore: [] });

最佳答案

我也遇到了同样的问题。页面上的隐藏字段存储用户 ID,该 ID 是从自动完成文本框中选择的。该 ID 进行了验证,以确保回发非零 ID。我们希望在客户端包含此验证。

默认情况下,jQuery 验证会忽略隐藏字段、宽度和高度为零的元素、具有 css display:none 的元素以及具有不可见父元素的任何元素(使用相同的条件)。

但是,可以通过添加以下脚本来覆盖忽略设置(我只是在调用 $.validator.addMethod() 之前将其添加到我的自定义验证器脚本中):

// By default validator ignores hidden fields.
// change the setting here to ignore nothing
$.validator.setDefaults({ ignore: null });

注意:如果此代码在 document ready 或 jQuery $(function () {}) 方法内运行,则该代码将不起作用.

关于jquery - MVC : How to enable client side validation on hidden fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24572749/

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