ModelState Fehler werden nicht in der Ansicht angezeigt

8

Ich habe eine Aktion, die einen Datensatz speichert, indem ich die Save-Methode meiner BLL-Entität aufruft. Die Entität kümmert sich um ihre eigene interne Validierung und wenn ein Feld erforderlich ist, aber die Validierung nicht besteht, weil ein Benutzer keinen Wert eingegeben hat, gibt die Entität einen Fehler aus. Ich fange diesen Fehler in meiner Aktion und die gleiche Ansicht zurück. Das Problem ist der Fehler wird nicht in meiner ValidationSummary angezeigt.

Ja, ich weiß, dass ich die Ansichtsmodellvalidierung über attic mit MVC habe, aber diese Entität wird woanders verwendet und muss redundant validiert werden, wenn die UI dies nicht tut oder nicht kann, wie in einem Batch-Service-Job. p>

Hier ist meine Aktion:

%Vor%

Hier ist meine Ansicht:

%Vor%

Warum sollte der Fehler, den ich zu modelstate hinzufüge, nicht in meiner validationsummary angezeigt werden?

    
CD Smith 09.02.2012, 14:27
quelle

1 Antwort

20

Ändern Sie Ihren Ansichtscode:

@Html.ValidationSummary(true)

zu:

@Html.ValidationSummary(false)

Wie in der MSDN-Referenz zu ValidationSummary () beschrieben, folgt hier die Methodendefinition:

%Vor%

Beachten Sie, dass der Parameter bool , wenn Sie ihn auf true setzen (wie Sie es ursprünglich getan haben), Eigenschaftenfehler ausschließen. Ändere das in false und das sollte dir das bringen was du willst.

    
user596075 09.02.2012, 14:31
quelle

Tags und Links