23
 link: function(scope, elm, attrs, ctrl) {
        ctrl.$parsers.unshift(function(viewValue) {

            scope.pwdValidLength = (viewValue && viewValue.length >= 8 ? 'valid' : undefined);
            scope.pwdHasLetter = (viewValue && /[A-z]/.test(viewValue)) ? 'valid' : undefined;
            scope.pwdHasNumber = (viewValue && /\d/.test(viewValue)) ? 'valid' : undefined;

            if(scope.pwdValidLength && scope.pwdHasLetter && scope.pwdHasNumber) {
                ctrl.$setValidity('pwd', true);
                return viewValue;
            } else {
                ctrl.$setValidity('pwd', false);                    
                return undefined;
            }

        });
    }

http://jsfiddle.net/adamdbradley/Qdk5M/

上記のフィドルでは、パスワードの検証はどのように行われますか? $parser.unshift は何をしますか?? そして、test(viewValue)の使用は何ですか.....? AngularJs のメイン サイトを参照しましたが、何も理解できませんでした...検証方法を順を追って説明してください...

私はangularJSが初めてです..

4

2 に答える 2

7

@Pawan Kalyan - ブラックホールはそれを非常にうまく説明しました(彼の答えに賛成票を投じました)。しかし、次の便利なブログも読むべきだと思います:-
$parsers and $formatters in Custom Validation Directives in Angular JS -

http://java.dzone.com/articles/parsers-and-formatters-custom

ハッピーコーディング:)

于 2014-06-25T07:28:16.050 に答える