2017-09-07 82 views
-1

對不起翻譯。我找不到解決方案。手動添加到視圖的輸入不與模型相關聯。第二個輸入只是比較:禁用(配置)輸入的jQuery驗證?

@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 input-validation-error" 
    type="text" value="" aria-describedby="1-error" aria- 
    invalid="true"> 
</form> 
<input id="2" class="form-control" type="text" value=""> 

jQuery的添加了一些屬性爲第一:

<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="" /> 

打字(上頁)後輸入在表單塊中。第二個輸入不變。據我所知它工作jquery.validate.unobtrusive.js。如果您在第一個輸入中寫入了除數字之外的其他內容,則提交不起作用並將光標放在那裏。如何禁用此驗證或如何配置它?這種行爲的原因是什麼?謝謝

+0

你不希望客戶端驗證呢?那就不要加載那個js文件。 – Shyju

+0

只需刪除鏈接到'jquery.validate。*'的'script'標籤或刪除所有驗證腳本包就行。 –

+0

是的,禁用jquery腳本是一個徹底的解決方案,它的工作原理。但我想知道如何爲每個輸入設置它。 – Telepnev

回答

0

原因是,當你創建這個項目時,你使用了默認的MVC模板而不是空白的項目。 此模板包含jQuery驗證,因此,如果你不需要它,你可以通過刪除:

  1. 檢查你的意見,大部分的時間,這將在@Section Scripts@Scripts.Render("~/bundles/jqueryval")

如果您只想從該頁面中刪除jquery驗證,請刪除此行。 如果你想從你的整個項目採取了jQuery驗證,則轉到步驟2以後

  • 定位於~/App_Start/BundleCongfig.cs,你會看到:

    bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
    "~/Scripts/jquery.validate*")); 
    
  • 這意味着:創建一個新的腳本包名稱「jqueryval」,並將所有文件(JavaScript文件)添加到腳本文件夾中,以jquery.validate開頭到此包。

    這就是爲什麼,在步驟1中,任意查看你需要jQuery驗證,你只需要調出這個「jqueryval」束(在步驟1中提到的)

    從BundleCongfig.cs文件中刪除此包,去第3步

  • ~/Sciprts文件夾中刪除真實的物理JavaScript文件:jquery.validate.jsjquery.validate.min.jsjquery.validate.unobtrusive.jsjquery.validate.unobtrusive.min.js