2017-05-08 2 views
1

Ich habe ein paar Validierung, die ich oben auf der Seite hatte. Ich wollte die horizontalen Zeilen nur bei Fehlern dynamisch anzeigen lassen.Dynamisch zeigen 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> 

, was ich tun wollte, dass die Syntax in gestochen, um herauszufinden, dass ich die horizontalen Reihen

@if (model.tempHouseHoldSSNVerification isinvalid) 
{ 
    <tr><td colspan="4">@Html.ValidationMessageFor(model => model.tempHouseHoldSSNVerification, null, new { style = "color:red" })</td></tr> 
} 

Ich versuche, dynamisch zeigen, kann in Razor-Syntax so etwas wie diese. Irgendein Vorschlag??

Antwort

3

Wenn die Fehlermeldung nur bei Fehlern angezeigt werden soll. Sie können ModelState Validierung über ViewContext.ViewData.ModelState verwenden.

Beispiel:

@if (!ViewContext.ViewData.ModelState.IsValid) 
{ 
    <tr> 
    <td colspan="4">@Html.ValidationMessageFor(model => model.tempHouseHoldSSNVerification, null, new { style = "color:red" }) 
    </td> 
    </tr> 
} 
0

einfach behandeln sie nicht als separate Reihen. Standardmäßig wird die Überprüfungsmeldung nur angezeigt, wenn ein Grund dafür vorliegt. Als Ergebnis können Sie einfach tun:

<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> 

Dann je nachdem, welche die Fehler bei der Überprüfung während der andere wird angezeigt hat, wird nicht. Sie müssen nicht manuell nach Fehlern suchen.

+0

Dann wird die Fehlermeldung in einer Zeile angezeigt – user6815384

+0

Wenn * beide * Fehler zur gleichen Zeit angezeigt werden, dann wickeln Sie sie beide einzeln in einige Block-Level-Tag wie 'div'. –

+0

Ich denke, beide Möglichkeiten funktioniert! Vielen Dank. – user6815384

Verwandte Themen