Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度指令验证和解密_Javascript_Angularjs_Angularjs Directive_Cryptojs - Fatal编程技术网

Javascript 角度指令验证和解密

Javascript 角度指令验证和解密,javascript,angularjs,angularjs-directive,cryptojs,Javascript,Angularjs,Angularjs Directive,Cryptojs,我试图构建一个指令,首先验证用户输入 验证输入后,我想用sha256散列字符串,并返回一个只包含加密输入的新模型 我知道这是一个奇怪的功能,但我有一位客户需要它: 以下是我的地址: 通过简化脚本解决了我的问题 app.directive('valiCrypt', function ($timeout) { var validateInput =function(input) { // Returns validation logic result here.

我试图构建一个指令,首先验证用户输入

验证输入后,我想用sha256散列字符串,并返回一个只包含加密输入的新模型

我知道这是一个奇怪的功能,但我有一位客户需要它:

以下是我的地址:


通过简化脚本解决了我的问题

app.directive('valiCrypt', function ($timeout) {

    var validateInput =function(input) {
         // Returns validation logic result here.
    }

    return {
        restrict: 'A',
        require: 'ngModel',
        replace: true,
        scope: {
            vcModel: "=ngModel",
            vcDuration: "@",
            vcText: "@"
        },

        link: function (scope) {

            if (!scope.vcDuration) {
                scope.vcDuration = 0;
            }

            if (!scope.vcText) {
                scope.vcText = "";
            }

            scope.$watch('vcModel', function (value) {
                if (value) {
                    if (value.length === 11) {
                        var result = validateInput(value);

                        if (result) {

                            var copy = angular.copy(scope.vcModel);

                            scope.vcModel = scope.vcText;

                            $timeout(function () {
                                // <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha256.js"></script>
                                copy = CryptoJS.SHA256(value);
                                scope.vcModel = copy;
                            }, scope.vcDuration, true);
                        }
                    }
                }
            });
        }
    };
});

@阿乔姆。代码没有任何问题,如果你阅读了这个问题,你可能会觉得我想扩展它,所以它返回一个加密字符串。
app.directive('valiCrypt', function ($timeout) {

    var validateInput =function(input) {
         // Returns validation logic result here.
    }

    return {
        restrict: 'A',
        require: 'ngModel',
        replace: true,
        scope: {
            vcModel: "=ngModel",
            vcDuration: "@",
            vcText: "@"
        },

        link: function (scope) {

            if (!scope.vcDuration) {
                scope.vcDuration = 0;
            }

            if (!scope.vcText) {
                scope.vcText = "";
            }

            scope.$watch('vcModel', function (value) {
                if (value) {
                    if (value.length === 11) {
                        var result = validateInput(value);

                        if (result) {

                            var copy = angular.copy(scope.vcModel);

                            scope.vcModel = scope.vcText;

                            $timeout(function () {
                                // <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha256.js"></script>
                                copy = CryptoJS.SHA256(value);
                                scope.vcModel = copy;
                            }, scope.vcDuration, true);
                        }
                    }
                }
            });
        }
    };
});