很抱歉翻译。我找不到解决方案。手动添加到视图的输入与模型无关。第二个输入仅用于比较:
@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。如果你在第一个输入中写了除数字以外的东西,那么提交也不起作用并将光标放在那里。如何禁用此验证或如何配置它?这种行为的原因是什么?感谢
答案 0 :(得分:0)
原因是,当您创建此项目时,您使用的是默认MVC模板而不是空白项目。 此模板包含jquery验证,因此如果您不需要,可以通过以下方式删除:
@Section Scripts
下:
@Scripts.Render("~/bundles/jqueryval")
如果您只想从该页面删除jquery验证,请删除此行。 如果您想从整个项目中取出jquery验证,请转到第2步
找到~/App_Start/BundleCongfig.cs
,您会看到:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*"));
这意味着:创建一个新的脚本包名称&#34; jqueryval&#34;并在Scripts文件夹中添加所有文件(javascript文件),以jquery.validate
开头到此捆绑包。
这就是为什么在步骤1中,你需要Jquery验证的任何View,你只需要调出这个&#34; jqueryval&#34;捆绑(在步骤1中提到)
从BundleCongfig.cs文件中删除此捆绑包并转到步骤3
~/Sciprts
文件夹中的实际物理javascript文件:jquery.validate.js
,jquery.validate.min.js
,jquery.validate.unobtrusive.js
,jquery.validate.unobtrusive.min.js