Angular JS-set Formularfeld als ungültig

Ich versuche, fügen Sie einige server-seitige Formular-Validierung, um meine angular js app. Ich habe eine harte Zeit ungültig-Formular-Feld und die Anzeige der Fehlermeldung.

Meine basic-Anwendung sieht wie folgt aus:

Ich habe ein Modell 'client' mit einem controler

Accounts.controller('Client', ['$scope', 'ClientService', function ($scope, ClientService) {
    $scope.loading = false;
    $scope.errors = null;

    $scope.init = function () {
         $scope.abn = "some value from API call";
    };

    $scope.save = function (client) {
            $scope.form.abn.$setValidity("server", false);
            $scope.errors.abn = "Error message";
    }

    $scope.init();
}]);

und einer Formular-Ansicht

<form name="form">
    <div class="form-group">
        <label>ABN Number</label>
        <input type="text" name="abn" ng-model="client.abn">
        <span ng-show="form.abn.$error.server">{{client.errors.abn}}</span>
    </div>
    <button ng-click="save(client)">Save</button>
</form>

und eine app wie so

var Accounts = angular.module('Accounts', [
    'ngRoute',
    'ui.select2',
    'ui.router'
])
.config(function ($stateProvider, $routeProvider) {
    $routeProvider.otherwise('/404');

    $stateProvider
        .state('client', {
            url: "/client",
            templateUrl: "client",
            controller: 'Client'
        })
        .state('404', {
            url: "/404",
            templateUrl: "/error/e404/"
        });

});

Ist jemand in der Lage, mich mit einem Beispiel, wie ich sein sollte, die Einstellung der abn Feld als ungültig an und zeigt eine Fehlermeldung?

InformationsquelleAutor Levi Putna | 2014-01-02

Schreibe einen Kommentar