Hot Towel Angular data-ng-show не работает во время проверки

Здравствуйте, кто-нибудь пробовал выполнить проверку с использованием angularjs в шаблоне с горячим полотенцем?

По сути, у меня есть свойство в моем угловом контроллере, которое, на мой взгляд, привязано (двумя способами).

Я просто хочу выполнить простую обязательную проверку, а затем показать элемент <span> с сообщением.

вот мой код контроллера

(function () {
    'use strict';
    var controllerId = 'login';
    angular.module('app').controller(controllerId, ['$scope', 'common', 'userservice','$location', login]);

    function login($scope, common, userservice, $location) {
        var getLogFn = common.logger.getLogFn;
        var log = getLogFn(controllerId);

        var vm = this;
        vm.title = 'Login';

        //view model for credentials
        vm.email = null; 
        activate();

        function activate() {
            common.activateController([], controllerId)
                .then(function () { log('Activated Login View'); });
        }

    }
})();

и это мой взгляд

<div data-ng-controller="login as vm">
    <form name="loginform" id="loginform" novalidate data-ng-submit="loginuser()">
        <fieldset>
            <legend>Login</legend>
            <p>
                <label>Email</label>
                <input type="email" data-ng-model="email" placeholder="Email" required />
                <span  data-ng-show="loginform.email.$error.required">*</span>
            </p>


        </fieldset>
    </form>
</div>

Я не знаю, в чем проблема, но <span> просто не отображается. я что-то упускаю?


person reggieboyYEAH    schedule 06.01.2014    source источник


Ответы (1)


Вы должны установить атрибут «имя» для вашего входного адреса электронной почты:

<input type="email" name="email" data-ng-model="email" placeholder="Email" required />

Для каждого поля вашей формы angularjs установит значение, например: loginform [имя-атрибут].

К вашему сведению, ваш диапазон будет виден только при возникновении требуемой ошибки (когда ваш адрес электронной почты не пуст, ваш диапазон будет скрыт).

[EDIT] См. эту скрипту: http://jsfiddle.net/k82at

person Mickael    schedule 06.01.2014