2011-12-22 74 views
45

我需要檢查我的模型是否在我的剃刀視圖內有效。如果它是有效的,那麼我希望能夠顯示一些HTML。如何從剃鬚刀視圖內檢查我的模型是否有效?

我該怎麼做。我想是這樣

@if (Model.IsValid) { 

} 

但上述方法無效

+0

我討厭這個問題,但爲什麼?我能想到的唯一情況是,如果您由於某種原因不允許使用jQuery驗證。 – Peter 2011-12-22 05:30:48

+3

@Peter(以及其他任何具有相同問題的人),想象你想要輸出一個'div'元素*,但前提是*先前提交的信息是無效的。爲無效登錄憑證輸出警報的容器元素。 – 2014-03-28 20:12:37

+0

@親愛的朋友,請說明一下:你正在上傳一個文件,想檢查它是否有正確的格式,你可以在javascript上做到這一點嗎? - 不,你不能!因此,您可以在服務器端進行檢查,如果失敗,您可以向ModelState添加一個錯誤,以便將其顯示在頁面上。 – 2017-12-21 13:22:35

回答

74

您可以檢查ModelState中是否是有效的,但請記住,你只檢查ModelState中的有效性在當時web請求作出:

@if (ViewData.ModelState.IsValid) { 
    ... 
} 

此外,還可以檢查屬性validatity在視圖模型:

@if (ViewData.ModelState.IsValidField("FIELD_NAME")) { 
    ... 
} 
+3

+1當模型狀態被驗證時提及。 – 2013-10-21 00:42:27

+0

傳遞給「IsValidField」的'FIELD_NAME'必須是與整個ViewModel層次相關的**全名**。 – 2016-11-21 23:26:18

相關問題