Ich bin neu in AngularJS kombinieren, aber ich habe intensiv gesucht und konnte eine Arbeits Antwort auf diese Frage nicht finden, vielleicht ist es einfach nicht möglich, die Art, wie ich es im Sinn haben.Wie ng-Nachricht Nachrichten
Was ich möchte, ist in der Lage, Fehlerbedingungen zu kombinieren, so dass ich allgemeinere Fehlermeldungen im ng-messages Modul verwenden kann. Dies spart uns viel Zeit bei der Pflege von Texten, da unsere Anwendung mehrsprachig ist. In meinem Beispiel wäre es toll, minlength, maxlength und pattern zu kombinieren und 1 generische Nachricht zu referenzieren. Der einzige Weg, wie ich es zum Laufen gebracht habe, ist eine separate ng-Nachricht für jeden Typ und dann den Fehlertext wiederzuverwenden, der mir überflüssig erscheint. Hoffentlich ist es etwas Kurzes, das ich vermisse, wenn ich nicht verstehe, wann/wie ich es benutzen soll, oder ||.
<form id="myFormId" name="myForm" novalidate>
<input name="sText" ng-model="someText"
type="text"
required
ng-minlength="8" minlength="8"
ng-maxlength="8" maxlength="8"
ng-pattern="/^[a-zA-Z0-9]{8,8}$/" pattern="/^[a-zA-Z0-9]{8,8}$/">
<div ng-messages="myForm.sText.$error" role="alert">
Error message:
<div ng-message="required">Required text missing</div>
<div ng-message="minlength || maxlength || pattern">Not right length or bad pattern - Why does this not work? I have also tried using comma , instead of || </div>
<div ng-message="minlength">Too short - this does work but does not change even if this is removed</div>
</div>
</form>
Ich habe this simple Plunk geschaffen zu illustrieren, was ich zu tun versucht:
EDIT 1
ich weiß, ich einen einzigen RegexMuster Ausdruck verwenden könnte, aber die oben genannten Validierungen ist streng reproduzieren Sie das Problem und zeigen Sie ein Beispiel. Ich habe noch andere Validierungen, die ich kombinieren möchte und die nicht mit einem einzigen Muster ausgedrückt werden können.
Das war, wovor ich Angst hatte. Ich sah auf der Angular-Website eine Demo, die Kommas verwendete https://docs.angularjs.org/api/ngMessages/directive/ngMessage, also hüpfte ich, dass ich hier mehrere Eigenschaften verwenden könnte, aber vielleicht bedeuten sie etwas ganz anderes? Der Grund, warum ich für ng-message versuchte, war, dass ich immer nur eine Fehlermeldung in der Kette anstatt mehrere Nachrichten anzeigen konnte. – Igor
Dies ist keine genaue Information mehr. Siehe John Knoop's Antwort. – Will
@Will kein Mann..OP Anforderung war er wollte mehrere ng-Nachrichten innerhalb der 'ng-Nachrichten'-Direktive .. & zur Zeit habe ich die Frage beantwortet" ng-messages-multiple "Sache war nicht da in doc's. Sie können die Update-Antwort überprüfen und auch plunkr. –