我有了一個選項,輸入尺寸的一種形式:MVC 3不顯眼的驗證 - 有條件地禁用/啓用驗證
- 寬度&高度
- 寬度
- 身高
而且我有兩個div容器,我隱藏/顯示,這取決於三個選項中選擇:
<div class="editor-field" id="width-container">
@Html.EditorFor(model => model.Width)
@Html.ValidationMessageFor(model => model.Width)
</div>
<div class="editor-field" id="height-container">
@Html.EditorFor(model => model.Height)
@Html.ValidationMessageFor(model => model.Height)
</div>
如果選擇高度,然後寬度不顯示在表格上,我怎麼能禁止在時尚輸入欄寬不顯眼的驗證,讓我輕鬆地復權如果用戶改變他們的想法,即刪除data- *屬性不是一個選項。我很高興地創建一個CustomAttribute類來處理這個,但我不希望有破解標準的jQuery的文件,使這項工作,因爲它使得更新到新版本頭疼走下賽場。如果一切都失敗了,我將使用我通常的技巧,當它們不可見時將字段值0加到字段中,然後在顯示時刪除它。
編輯:
請留意,當寬度不可見它不是一個「隱藏」的領域本身,它只是一個輸入變量,因爲父div有顯示器的風格,這不是對用戶可見:沒有
我看過這個版本的各種版本,但它們都不起作用 - 我得出的結論是,這個問題或者是這個規則不起作用,因爲它不是隱藏的輸入標籤,它是父級div - 或者這個規則被設計用於在「隱藏」標籤而不是「不可見」輸入標籤上工作。順便說一句我試過你的解決方案,它不工作。 – Rob 2012-08-05 12:49:13
':隱藏的'對於隱藏的元素是絕對正確的,因爲他們的父母是隱藏的。正如你可以在這個小提琴中看到的,我的解決方案在一個基本情況下運行良好:http://jsfiddle.net/7PmEz/5/。因此,讓我們試着找出三角洲到哪裏去,還有一些其他的東西丟失了。請將生成的html放入jsfiddle,然後嘗試使用我用來測試它的相同的javascript。如果可行,請發佈整個視圖代碼,以便我們可以看一看。 – Milimetric 2012-08-06 18:12:13
嗯,令人沮喪的是,我不能真的把代碼放入jsfiddle中,因爲它是使用MS MVC3框架生成的 - 所以它沒有真正執行有效的比較... – Rob 2012-08-07 09:18:10