[英]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.