2016-07-28 3 views
0

Ich spiele mit dem Frühling validating form input Beispiel - Java-Frühling-mvc mit Thymeleaf Ansichten. Ich konnte Nachrichten ohne Probleme in die Ansicht übertragen. Diese zeigen an, wo das Beispiel sie haben möchte ...Fügen Sie verbindliche Fehlermeldungen zu benutzerdefinierten Nachrichten in Eingabe-Tag

z.B.

<td th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name Error</td> 

ich einen Weg zu finden, ich versuche, sie in die HTML-Eingabevalidierung setzen Attribute aber so habe ich die folgende (volle Seite unten) versucht

<td><input type="text" th:field="*{age}" **required="required" data-errormessage-value-missing="${#fields.errors('age')}" data-errormessage="${#fields.errors('age')}"**/></td> 

Dies obwohl nicht gut getan hat und die Die angezeigte Validierungsnachricht ist $ {# fields.errors ('age')}! Gibt es eine Möglichkeit, die Bindungsfehler in das Attribut zu schieben oder missverstehe ich die Funktionsweise?

Vielen Dank für jede Hilfe im Voraus.

Seite html

<html> 
<body> 
    <form action="#" th:action="@{/}" th:object="${personForm}" method="post"> 
     <table> 
      <tr> 
       <td>Name:</td> 
       <td><input type="text" th:field="*{name}" required="required" data-errormessage-value-missing="Custom Message" /></td> 

       <td th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name Error</td> 
      </tr> 
      <tr> 
       <td>Age:</td> 
       <td><input type="text" th:field="*{age}" required="required" data-errormessage-value-missing="${#fields.errors('age')}" data-errormessage="${#fields.errors('age')}"/></td> 
       <td th:if="${#fields.hasErrors('age')}" th:errors="*{age}">Age Error</td> 
      </tr> 
      <tr> 
       <td><button type="submit">Submit</button></td> 
      </tr> 
     </table> 
    </form> 
</body> 
</html> 

Antwort

0

Thymeleaf nur Attribute, die mit th Start wertet:, so um dies zu tun, Sie th verwenden: attr. Sie sind Tag sollte wie folgt aussehen:

<input type="text" th:field="*{age}" required="required" th:attr="data-errormessage-value-missing=${#fields.errors('age')}, data-errormessage=${#fields.errors('age')}" /> 

Sie auch dieses Plugin-Tags zu bewerten Daten nutzen könnten, aber ich habe habe es nicht benutzt, bevor so kann ich nicht kommentieren, wie gut es funktioniert: https://github.com/mxab/thymeleaf-extras-data-attribute

+0

Hallo, vielen Dank dafür. Es hat das Problem nicht ganz gelöst, aber es hat mich in die richtige Richtung gelenkt. Das Attribut th: attr scheint korrekt zu sein, aber mein Code erkennt keine Fehlermeldung. Ein wenn Fehler vorhanden sind, dann drucke eine Textzeile, so dass es möglich sein muss, das Bindungsfehlerobjekt abzufragen, aber es ist mir noch nicht gelungen, eine bestimmte Nachricht zu erhalten! Ich habe für jetzt gestoppt und glaube, dass Sie den Kern der Frage beantwortet haben (dieser Kommentar ist für den Fall, dass sich jemand später fragt, warum ich es als Antwort markiert habe, aber die tatsächliche Codezeile funktioniert nicht!) Nochmals vielen Dank. – gringogordo

Verwandte Themen