[英]Dynamically show Razor ValidationMessageFor
我在頁面頂部進行了一些驗證。 我想只在有錯誤的情況下動態顯示水平行。
<tr><td colspan="4">@Html.ValidationMessageFor(model => model.tempHouseHoldSSNVerification, null, new { style = "color:red" })</td></tr>
<tr><td colspan="4">@Html.ValidationMessageFor(model => model.tempHouseHoldCitizenVerification, null, new { style = "color:red" })</td></tr>
我想要做的是在Razor語法中有這樣的東西
@if (model.tempHouseHoldSSNVerification isinvalid)
{
<tr><td colspan="4">@Html.ValidationMessageFor(model => model.tempHouseHoldSSNVerification, null, new { style = "color:red" })</td></tr>
}
我試圖找出剃刀中的語法,我可以動態顯示水平行。 有什么建議??
如果只想在出現錯誤時顯示錯誤消息。您可以通過ViewContext.ViewData.ModelState
使用ModelState
驗證。
例:
@if (!ViewContext.ViewData.ModelState.IsValid)
{
<tr>
<td colspan="4">@Html.ValidationMessageFor(model => model.tempHouseHoldSSNVerification, null, new { style = "color:red" })
</td>
</tr>
}
只是不要將它們視為單獨的行。 默認情況下,只有在有理由的情況下才會顯示驗證消息。 因此,您可以這樣做:
<tr>
<td colspan="4">
@Html.ValidationMessageFor(model => model.tempHouseHoldSSNVerification, null, new { style = "color:red" })
@Html.ValidationMessageFor(model => model.tempHouseHoldCitizenVerification, null, new { style = "color:red" })
</td>
</tr>
然后,無論哪一個都有驗證錯誤都會顯示,而另一個則不會。 無需手動檢查錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.