将ngMessages与Angular 1.2一起使用

fau*_*ism 3 angularjs

有谁知道是否有支持ngMessages的Angular 1.2的分支?

我很乐意使用它,但我需要IE8.

在此先感谢您的帮助.

ple*_*ock 5

这是我使用的指令:

/**
 * Ui-messages is similar implementation of ng-messages from angular 1.3
 *
 * @author Umed Khudoiberdiev <info@zar.tj>
 */
angular.module('uiMessages', []).directive('uiMessages', function () {

    return {
        restrict: 'EA',
        link: function (scope, element, attrs) {

            // hide all message elements
            var messageElements = element[0].querySelectorAll('[ui-message]');
            angular.forEach(messageElements, function(message) {
                message.style.display = 'none';
            });

            // watch when messages object change - change display state of the elements
            scope.$watchCollection(attrs.uiMessages, function(messages) {
                var oneElementAlreadyShowed = false;

                angular.forEach(messageElements, function(message) {
                    var uiMessage = angular.element(message).attr('ui-message');

                    if (!oneElementAlreadyShowed && messages[uiMessage] && messages[uiMessage] === true) {
                        message.style.display = 'block';
                        oneElementAlreadyShowed = true;
                    } else {
                        message.style.display = 'none';
                    }
                });
            });
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

我用来ui-messages代替ng-messages避免冲突.

<div ui-messages="form.name.$error">
    <div ui-message="minlength">too short</div>
    <div ui-message="required">this is required</div>
    <div ui-message="pattern">pattern dismatch</div>
</div>
Run Code Online (Sandbox Code Playgroud)