AngularJs ng-消息无法正常工作
AngularJs ng-messages not working properly
我正在尝试使用 AngularJs 1.6.4 中的 ng-messages 进行验证。
但只要我在表单中输入,它就会显示所有 3 条 ng 消息,之后它们不会消失,直到页面刷新。因此,即使未达到最大长度,它也会显示 "your name is required".
<form name="userForm" ng-submit="signup(userForm.$valid)" novalidate>
<!-- First name -->
<div class="form-group" ng-class="{ 'has-error' : userForm.first_name.$touched && userForm.first_name.$invalid }">
<label for="example-text-input" class="col-2 col-form-label">First Name</label>
<div class="col-10">
<input class="form-control" type="text" placeholder="Please enter your first name"
name="first_name"
ng-model="user.first_name"
ng-minlength="2"
ng-maxlength="25"
required>
<div class="help-block" ng-messages="userForm.first_name.$error" ng-if="userForm.first_name.$touched">
<p ng-message="minlength">Your name is too short.</p>
<p ng-message="maxlength">Your name is too long.</p>
<p ng-message="required">Your name is required.</p>
</div>
</div>
</div>
</form>
编辑
通过将 ngMessages 添加到我的模块并在我的 index.html
中添加脚本标签来解决它
你的代码非常适合我。检查 plunker link
在您想要的模块中注入 ngmessage
。
angular.module('app', ['ngMessages'])
在您的项目中添加 angular 消息文件。
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular-messages.js"></script>
<input class="form-control" type="text" placeholder="Please enter your first name"
name="first_name"
ng-model="user.first_name"
minlength="2"
maxlength="25"
ng-required="true"/>
<div ng-messages="userForm.first_name.$error" ng-show="userForm.first_name.$touched" >
<span ng-message="required" class="error">Required</span>
<span ng-message="minlength">Minimum 2</span>
最多 25 个
</div>
我正在尝试使用 AngularJs 1.6.4 中的 ng-messages 进行验证。
但只要我在表单中输入,它就会显示所有 3 条 ng 消息,之后它们不会消失,直到页面刷新。因此,即使未达到最大长度,它也会显示 "your name is required".
<form name="userForm" ng-submit="signup(userForm.$valid)" novalidate>
<!-- First name -->
<div class="form-group" ng-class="{ 'has-error' : userForm.first_name.$touched && userForm.first_name.$invalid }">
<label for="example-text-input" class="col-2 col-form-label">First Name</label>
<div class="col-10">
<input class="form-control" type="text" placeholder="Please enter your first name"
name="first_name"
ng-model="user.first_name"
ng-minlength="2"
ng-maxlength="25"
required>
<div class="help-block" ng-messages="userForm.first_name.$error" ng-if="userForm.first_name.$touched">
<p ng-message="minlength">Your name is too short.</p>
<p ng-message="maxlength">Your name is too long.</p>
<p ng-message="required">Your name is required.</p>
</div>
</div>
</div>
</form>
编辑
通过将 ngMessages 添加到我的模块并在我的 index.html
中添加脚本标签来解决它你的代码非常适合我。检查 plunker link
在您想要的模块中注入 ngmessage
。
angular.module('app', ['ngMessages'])
在您的项目中添加 angular 消息文件。
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular-messages.js"></script>
<input class="form-control" type="text" placeholder="Please enter your first name"
name="first_name"
ng-model="user.first_name"
minlength="2"
maxlength="25"
ng-required="true"/>
<div ng-messages="userForm.first_name.$error" ng-show="userForm.first_name.$touched" >
<span ng-message="required" class="error">Required</span>
<span ng-message="minlength">Minimum 2</span>
最多 25 个
</div>