asp.net mvc 3 jquery hinzufügen von Validierung Nachricht manuell

Ich habe Suche für eine ganze Weile und waren nicht in der Lage, eine Antwort zu finden auf diese.

Ich bin mit asp.net MVC 3 unobtrusive validation. Mein Modell ist gebunden, mit Anmerkungen Daten zur einfachen überprüfung (Pflichtfelder, regex, etc..). Allerdings habe ich mehr komplexe Validierung auf dem server Auftritt. Ich mache einen ajax post, das gibt mir Validierung add ' L-Nachrichten, die kommen von meiner domain Modell. Alles was ich tun möchte ist die Validierung von Nachrichten auf dem Formular an der Stelle der bestehenden. Ich will nicht auch teilweise gesehen, da alle, die ich wirklich haben sind die Nachrichten kommen zurück und es gibt keine Notwendigkeit zu aktualisieren, die ganze Ansicht. Auch ich bin nicht Sie neue Regeln hinzufügen oder neue Eingaben, um die form so $.validator.unauffällig ist.analysiert wird nicht funktionieren. Dies sind nur Nachrichten, die ich setzen will, auf dem Formular. Die $.post-Aufruf gibt eine Liste der message, mit dem Feld ist/war betroffen und die Validierung Nachricht.

Hier ist eine Art, was ich Suche zu tun

 $.post(url, { someData}, function (data) {
         for (message in data.Messages) {
             $("#form").validate().addMessage(message.Field, message.Text);
         }
    });

Vielen Dank für Ihre Hilfe

Pro Anfrage, hier ist ein Beispiel der Rückgabe von JSON ist es Recht einfach.

{"id":0,"messages":["Level":0,"Message":"Style is required","Name":"Style"}],"operationResult":false}

Nachrichten ist eine Liste von Objekten, die den Schweregrad, die Eigenschaft die Fehler gehört und die Fehlermeldung. Ich würde den Namen in das messages-Objekt zu entsprechen, wo Sie es wollen, auf die form.

  • FYI: Teilweise Ansichten, bedeutet nicht, dass Sie müssen aktualisieren Sie die ganze Ansicht.
  • Können Sie erläutern? Sie würde zumindest zu aktualisieren, die Teil der view an das Modell in Frage. Ich habe einige drop-down-Boxen mit Tonnen von Elementen und ich bin nicht sonderlich scharf auf den Wiederaufbau und Integration der gesamten Liste auswählen
  • Es wäre einfacher wenn Sie möchten, liefern die Antwort-Nachricht (wahrscheinlich in form von JSON) mit der Validierung Fehler. Dann wäre es einfacher für uns, um näher auf die Lösung. Also Sie machen eine Ajax-Anforderung. Zeigen Sie uns, was wird an den client zurück...
  • Aktualisiert pro Anfrage
  • Ich weiß, dass ich tun könnte etwas wie $('span[Daten-valmsg-für=Name').text(Nachricht), aber das macht mich ein wenig nervös, basteln, um mit ihm direkt. Ich gehe davon aus/hoffe, dass der html-5-Eigenschaft nicht ändern. Und was dann passieren würde auf die spätere Validierung, ob die Daten Anmerkungen gab es durchaus etwas. Ich werde es testen, aber es scheint nicht wie eine gute Lösung
  • Haben Sie etwas gefunden, das besser funktioniert für Sie? Ich bin mit den gleichen Problem.
  • Ich habe nicht, die Noch Hoffnung für eine gute Lösung

InformationsquelleAutor Chris Cap | 2011-05-18
Schreibe einen Kommentar