【问题标题】:can we use valdr.addConstraint and addValidator function outside the config block ?我们可以在配置块之外使用 valdr.addConstraint 和 addValidator 函数吗?
【发布时间】:2016-02-11 06:34:31
【问题描述】:

我在 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;
            })
        }
    };
});

【问题讨论】:

    标签: javascript angularjs angularjs-directive valdr


    【解决方案1】:

    我不知道这有什么用,但您当然可以在您认为合适的时候致电valdrProvider.addConstraints()。在link: function ($scope, valdrProvider) 中,您可以访问提供者。

    【讨论】:

    • 谢谢先生您的宝贵意见.. 但我试过它不起作用。如果你有其他方式请告诉我..
    【解决方案2】:

    问题在于命名。 Angular 提供了两种配置提供程序的方法。 1. 在配置阶段 - 这里你必须附加“Provider”后缀。 2. 在运行时 - 在这里你只是得到服务。

    valdrProvider 更改为valdr,您可以在服务/控制器中添加约束

    【讨论】:

      猜你喜欢
      • 2017-12-27
      • 2021-12-19
      • 2015-07-18
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      相关资源
      最近更新 更多