禁用(配置)输入的jquery验证?

时间:2017-09-07 01:02:17

标签: jquery html asp.net-mvc validation

很抱歉翻译。我找不到解决方案。手动添加到视图的输入与模型无关。第二个输入仅用于比较:

@using (Html.BeginForm())
{
    ...

    <input id="1" class="form-control" type="text" value="" />
}
<input id="2" class="form-control" type="text" value="" />

启动时(页面上):

<form action="/Calls/Create" method="post" novalidate="novalidate">
    ...   
    <input id="1" class="form-control" type="text" value="" />
</form>
<input id="2" class="form-control" type="text" value="" />

输入后(页面上):

<form action="/Calls/Create" method="post" novalidate="novalidate">
    ...
    <input id="1" class="form-control input-validation-error" 
    type="text" value="" aria-describedby="1-error" aria-
    invalid="true">
</form>
<input id="2" class="form-control" type="text" value="">

Jquery为表单块中的第一个输入添加了一些属性。第二个输入没有变化。据我所知,它的工作是jquery.validate.unobtrusive.js。如果你在第一个输入中写了除数字以外的东西,那么提交也不起作用并将光标放在那里。如何禁用此验证或如何配置它?这种行为的原因是什么?感谢

1 个答案:

答案 0 :(得分:0)

原因是,当您创建此项目时,您使用的是默认MVC模板而不是空白项目。 此模板包含jquery验证,因此如果您不需要,可以通过以下方式删除:

  1. 检查您的观看次数,大部分时间都在@Section Scripts下: @Scripts.Render("~/bundles/jqueryval")
  2. 如果您只想从该页面删除jquery验证,请删除此行。 如果您想从整个项目中取出jquery验证,请转到第2步

    1. 找到~/App_Start/BundleCongfig.cs,您会看到:

      bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
      "~/Scripts/jquery.validate*"));
      
    2. 这意味着:创建一个新的脚本包名称&#34; jqueryval&#34;并在Scripts文件夹中添加所有文件(javascript文件),以jquery.validate开头到此捆绑包。

      这就是为什么在步骤1中,你需要Jquery验证的任何View,你只需要调出这个&#34; jqueryval&#34;捆绑(在步骤1中提到)

      从BundleCongfig.cs文件中删除此捆绑包并转到步骤3

      1. 删除~/Sciprts文件夹中的实际物理javascript文件:jquery.validate.jsjquery.validate.min.jsjquery.validate.unobtrusive.jsjquery.validate.unobtrusive.min.js