MVC:如何在隐藏字段上启用客户端验证

2021/01/17 05:11 · jquery ·  · 0评论

@脚本

 <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>

@视图

@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
  2. var validateMeta = $('#form123')。validate(); validateMeta.settings.ignore =“”;

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

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

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

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

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

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

注意:如果此代码在document ready或jQuery$(function () {})方法中运行,则将无法使用

在插入脚本进行验证之后,将忽略设置为“”:

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
    <script type="text/javascript">
    $.validator.setDefaults({
        ignore: ""
    });
    </script>
}

尝试

 var validator = $("#form-id").data('validator');
 validator.settings.ignore = "";

我不确定为什么您需要显示用户无法查看或编辑的字段的验证。但是您可以尝试一下。代替display:none,将 visibility:hiddenheight:0应用于您的输入字段。

@using (Html.BeginForm("TestModelState", "RandD", FormMethod.Post, new {id="form123" }))
{ 
    @Html.TextBoxFor(x => x.htmlText, new { style="visibility:hidden;height:0"})<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()" />
}
本文地址:http://jquery.askforanswer.com/mvcruhezaiyincangziduanshangqiyongkehuduanyanzheng.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!