2016-06-17 8 views
1

Ich benutze eckige Formulare in verschiedenen HTML-Seiten in meiner App. Ich verwende die Validierung als Beispiel:Globale Winkelformvalidierungen

    { 
         className: 'col-xs-5', 
         key: 'poc', 
         type: 'input', 
         templateOptions: { 
          type: 'text', 
          required: true, 
          label: 'Point of Contact', 
          maxlength: 15, 
          placeholder: "Enter Point of Contact's username" 
         }, 
         validators:{ 
          username:{ 
           expression: function(viewValue, modelValue) { 
           var value = modelValue || viewValue; 
           return !value || /^\d*[a-zA-Z][a-zA-Z\d]*$/.test(value); 
           }, 
           message: '$viewValue + " is not a valid username"' 
          }, 
         }, 

Example of Output ich diese Validierung auf meine anderen HTML-Formulare haben wollen als auch ohne die Prüffunktion wiederholen zu müssen. Ich habe gelesen, dass ich einen benutzerdefinierten Benutzernamen Typ machen könnte, die diese Validator Logik & Nachricht eingebaut hat? Ich bin einfach wieder nicht sicher, wie man das global macht.

In meinem app.config.js habe ich ein paar globale Nachrichten, welche Arbeit die Fehlermeldungen für die Basiswinkel heitlich Fehler angezeigt werden, aber nicht sicher, wie es, dass diejenigen, für meine Gewohnheit zu tun, um

formlyValidationMessages.addStringMessage('required', 'This field is required'); 
    formlyValidationMessages.addStringMessage('maxlength', 'Input is too long!'); 

Ich kann kein gutes Beispiel dafür finden, dass jemand erfolgreich dies tut, und würde einige Hilfe sehr schätzen!

+0

Machen Sie eine Richtlinie für die Validierung –

+0

Ich bin ziemlich neu zu allem. Nicht sicher, wie das geht. – user1691282

+0

http://docs.angular-formly.com/v5.2.1/docs/formlyvalidationmessages Diese Dokumentation könnte Ihnen dabei helfen –

Antwort

1

Für alle, die danach suchen, wie man das in Zukunft tun kann. Sieh dir das Beispiel in diesem Video an. https://egghead.io/lessons/angularjs-angular-formly-default-options

In Bezug darauf, wie es für das Beispiel, das ich skizziert, zu tun.

> angular.module('cim').run(function(formlyConfig, 
> formlyValidationMessages) { formlyConfig.setType({ 
>  name: 'username', 
>  defaultOptions: { 
>  templateOptions: { 
>   type: 'text', 
>   required: true, 
>   label: 'Point of Contact', 
>   maxlength: 15, 
>   placeholder: "Enter Point of Contact's username", 
>  }, 
>  validators:{ 
>   username:{ 
>    expression: function(viewValue, modelValue) { 
>    var value = modelValue || viewValue; 
>    return !value || /^\d*[a-zA-Z][a-zA-Z\d]*$/.test(value); 
>    }, 
>    message: '$viewValue + " is not a valid username"' 
>   }, 
>  }, 
>  }