Frage

Ich bin mit der Validierung MVC-Bibliothek von Linktext . Ich habe mich für diese Bibliothek, weil ich auch .NetTiers bin mit der alle Validierung generiert Attribute mit MS Enterprise Library Validation Blocks.

Es funktioniert gut, außer dass das Modell automatisch verbindlich wird, um das Objekt zu validieren und die Validierung Zusammenfassung bevölkern. Ich glaube, das in einem normalen Verhalten.

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register([Bind()]NetTiersObject obj)
{
    return View();
}

Die Validierung Bibliothek hat auch ein Verfahren, das dokumentiert ist wie folgt:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register([Bind()]NetTiersObject obj)
{
    try
    {
        obj.Validate<NetTiersObject>();
    }
    catch (EntityValidationException ex)
    {
        ViewData.ModelState.PopulateWithErrors(ex);
    }
    return View();
}

Dies funktioniert auch gut.

Mein Problem ist, dass bei der Verwendung der Methode der Validierung Bibliothek es die Fehlermeldungen dupliziert. Wenn nur das Modell erscheinen die Fehlermeldungen Bindung seltsam. Die Fehler haben die Eigenschaft Name in der Nachricht.

Also, ich glaube, ich soll entweder das Modell verbindlich Fehlermeldungen oder deaktivieren Modell Bindung insgesamt formatieren müssen.

Jede Empfehlung, helfen?

Danke.

War es hilfreich?

Lösung 2

fand ich die Antwort, warum mein Model war ungültig. Die Formelemente nicht Übereinstimmen mit dem Modell, das ist die einzige Art und Weise, dass das Model sofort ungültig würde.

Wenn ich mehr Einzelheiten finden werde ich diesen Beitrag aktualisieren.

Andere Tipps

Haben

Sie versuchen:

    /*At the Point the ModelState should be Valid(TRUE)
      because we still didn't enforce any validations */
    var v = ModelState.IsValid;

try
    {
        obj.Validate<NetTiersObject>();
    }
    catch (EntityValidationException ex)
    {
        ViewData.ModelState.PopulateWithErrors(ex);
    }

Und überprüfen, ob v True ist, sollte es sein. Wenn es wahr ist, dann tut obj.Validate<NetTiersObject>(); etwas falsch, weil seine nur bevölkern die Fehler dupliziert.

  

Mein Problem ist, dass bei der Verwendung der   Validierung Bibliothek Methode es   dupliziert die Fehlermeldungen. Wann   nur mit dem Modell der Fehler Bindung   Meldungen erscheinen seltsam. Die Fehler   haben die Eigenschaft Name in der Nachricht.

Das ist seltsam, weil die modelBinding sollte nicht Modellfehler füllen, zumindest, wenn Ihr nicht ein eigenes Modell mit Bindung oder versuchen, in die DB zu speichern, ohne Felder zu validieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top