繁体   English   中英

Hot Towel Angular数据显示在验证期间不起作用

[英]Hot Towel Angular data-ng-show not working during validation

大家好,有人试过在Hot Towel模板中使用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>只是不会显示。 我错过了什么吗?

您必须为输入电子邮件设置“名称”属性:

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

对于表单的每个字段,angularjs将设置一个值,如:loginform [name-attribute]。

为了您的信息,只有在触发了必要的错误时(当您的电子邮件不为空时,您的范围将被隐藏),您的范围才会显示。

[编辑]看到这个小提琴: http//jsfiddle.net/k82at

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM