1

私は新しくangualrjsでvaldrを使用しています。アプリケーションにvaldrを使用して検証ディレクティブを作成しています。app.config ファイル内に json を使用して addconstaints および addvalidator 関数を記述したくありません。その部分をディレクティブ内だけに書きたいのですが?誰でもこの問題を解決できますか...?

var app = angular.module('app', ['valdr']);

app.config(function (valdrProvider) {
    valdrProvider.addConstraints({
        'Person': {
            'firstname':
                {
                    'size': {
                        'min': 3,
                        'max': 12,
                        'message':'firstname should be between 3 to 12 '
                    },
                    'required': {
                        'message': 'This field is required.'
                    }
                },
            'firstName':
                {
                    'customValidator': {
                        'message': 'First name must be Hanueli.'
                    }
                }
        }
    });
});

app.directive('info', function () {
    return {
        restrict: 'E',
        templateUrl: 'tmpl.html',
        require: '^?valdrProvider',
        link: function ($scope, valdrProvider) {
            $scope.Person = {};
            $scope.$watch(valdrProvider.getConstraints, function (newContraints) {
                $scope.constraints = newContraints;
            })
        }
    };
});

4

2 に答える 2

0

問題はネーミングにあります。Angular は、プロバイダーを構成する 2 つの方法を提供します。1. 構成段階 - ここでは、「プロバイダー」サフィックスを追加する必要があります。2. 実行時 - ここでは、サービスを取得するだけです。

サービス/コントローラーにConstraintsvaldrProvidervaldr追加できます

于 2016-10-31T12:40:04.880 に答える