我有一個MVC3應用程序,使用EF,其中一張桌子在很多視圖模型中。它有一個通常不需要的字段。但是,有一種情況(和一種觀點)需要它。我希望客戶端和服務器驗證這個字段的必要性,在需要的地方。添加臨時不顯眼的驗證
現在,我不想將Required
數據註釋放在字段上,因爲那樣它將始終是必需的。即使在未顯示編輯字段的視圖中,情況也是如此,這將導致用戶無法離開的驗證消息。
我也不是在尋找RequiredIf
驗證屬性,因爲這不符合設計。該字段只在一種情況下需要,我不想在所有視圖模型中從一個多餘的表中粘貼額外的字段,只是爲了依賴。
我想要的就是能夠在一個視圖中打開一個字段所需的字段驗證,以特別的,不基於DataAnnotations的方式。
立即向我建議的方式是在爲字段創建標記時(通過HtmlHelper.TextBoxFor
簽名末尾的HtmlAttributes
對象)指定必需的data-val-*
屬性。如果我理解正確,這應該提示JS不引人注意的驗證來根據需要處理該字段。
但是這是......有點太過分了,在我看來。不顯眼的驗證支持會侵入到更高級別的代碼中。有沒有更優雅的方式來做到這一點?我可以使用jQuery Validation函數調用來實現我想要發生的事情嗎?
同意重新編碼的味道,需要進行服務器端驗證。思考我的應用程序對其餘的影響。不過,非常感謝。 – 2012-02-15 17:58:02