2016-06-28 9 views
0

Ich arbeite in einer Anwendung, wo der Benutzer eine JSON formular Formulardefinition bereitstellen kann, die in der DB gespeichert ist. Schließlich wird diese Definition verwendet, um ein Formular zu generieren.Validierung der eckigen Formulardefinition

Ich muss diese JSON-Definition vor dem Speichern in der DB validieren, etwas wie was API-Check darunter tut.

Hat angular-formally etwas zu tun, oder sollte ich meinen eigenen Validator erstellen?

Danke.

Antwort

0

Ja, können Sie es bei http://angular-formly.com/#/example/advanced/validators
Beispiel mit JSON siehe:

{ 
     "key": "test", 
     "className": "flex-gt-xs-100 flex", 
     "type": "input", 
     "templateOptions": { 
      "required": true 
     }, 
     "validation": { 
      "messages": { 
       "required": "function(viewValue, modelValue, scope) {return scope.to.label + ' is required';}" 
      } 
     } 
    } 

Aber JSON nicht verstehen Funktion. So müssen Sie Code schreiben zu tun, dass

$http.get('test.json').success(function(array) 
     { 
      var jsonTransformed = JSON.parse(JSON.stringify(array), function (key, value) { 
       if (value && (typeof value === 'string') && value.indexOf("function") === 0) { 
        var jsFunc; 
        eval("jsFunc = " + value); 
        return jsFunc; 
       } 
       return value; 
      }); 
      vm.fields = jsonTransformed; 
     }); 

Sie schreiben sollte Funktion in der Steuerung validieren und erklären, es in heitlich-Feld

+0

aber das ist die Form selbst zu validieren. Ich bin an der Validierung der JSON-Definition interessiert. Zum Beispiel könnte der Benutzer "keys" eingeben: "test" 'anstelle von" key ":" test "'. ** Angular-formular ** erkennt, dass ** API-check ** verwendet wird, aber ich muss es programmatisch tun, damit ich dem Benutzer Feedback geben kann. – Ivan