我有一個局部視圖,其上有一個nav
欄。假設它有兩個選項卡,並且兩個選項卡具有相同的屬性。我的要求是它應該只驗證一個textbox
元素。使用導航標籤有局部視圖驗證問題 - mvc 4
它是服務器端驗證。並且所有的腳本標籤如unobtrusive,validate
都已準備就緒。
我的局部視圖:
<ul class="nav nav-tabs">
<li class="active"><a href="#id1" data-toggle="tab">First</a></li>
<li><a href="#id2" data-toggle="tab">Second</a></li>
</ul>
<div class="tab-content 1">
@Html.LabelFor(m=> m.FirstName)
@Html.TextBoxFor(m=> m.FirstName) // lets say this is the element for tab 1
</div>
<div class="tab-content 1">
@using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post))
{
@Html.LabelFor(m=> m.FirstName)
@Html.TextBoxFor(m=> m.FirstName)
@Html.ValidationMessageFor(m=> n.FirstName) // it should only validate this element.
}
</div>
當我在選項卡1,它仍試圖驗證標籤2場,因爲兩者共用同一property
。
如何有效防止這種情況?
如果檢查HTML是模型的形式IDS是否一致? – Jasen 2014-09-02 19:17:09
是的,他們是......... – user2281858 2014-09-02 19:19:19
ID必須是唯一的。當您在Tab-N上時,其他選項卡仍在頁面上。 – Jasen 2014-09-02 19:23:11