[AngularJS] Angular 1.3 ngMessages with ngAnimate

Note: Can use $dirty to check whether user has intracted with the form:

https://docs.angularjs.org/api/ng/type/form.FormController

 

Read More:

http://www.yearofmoo.com/2014/05/how-to-use-ngmessages-in-angularjs.html

https://egghead.io/lessons/angularjs-using-ng-messages-with-ng-animate

 

复制代码
<!DOCTYPE html>
<html>
<head>

  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
  
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular-messages.min.js"></script>
  
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular-animate.js"></script>
  
  <title>What's new in Angular 1.3</title>
</head>
<body ng-app="app" ng-controller="MainCtrl as vm">
  <h1>Angular {{vm.angularVersion}}</h1>
  <h2>
    Using ngMessages with ngAnimate
    <small>by <a href="http://twitter.com/kentcdodds">@kentcdodds</a></small>
  </h2>
  <hr />
  
  <h2>Demo</h2>
  
  <form name="myForm">
    <input type="email" name="myField" ng-model="field" required minlength="5" />
    <div class="my-messages" ng-show="myForm.myField.$touched" ng-messages="myForm.myField.$error">
      <div class="some-message" ng-message="required">This field is required</div>
      <div class="some-message" ng-message="minlength">Input too short</div>
      <div class="some-message" ng-message="email">This field must be an email</div>
    </div>
  </form>
  
</body>
</html>
复制代码

 

复制代码
.my-messages {
  position: relative;
}

.my-messages.ng-active {
  /* messages are showing */
}

.my-messages.ng-inactive {
  /* messages are not showing */
}

.some-message {
  position: absolute;
  opacity: 1;
  transition: .3s linear all;
  font-size: .8em;
}

.some-message.ng-enter.ng-enter-active {
  opacity: 1;
  top: 0;
}

.some-message.ng-enter {
  opacity: 0;
  top: -20px;
}

.some-message.ng-leave {
  opacity: 1;
  top: 0;
}

.some-message.ng-leave-active {
  opacity: 0;
  top: 20px;
}
复制代码

 

var app = angular.module('app', ['ngMessages', 'ngAnimate']);

app.controller('MainCtrl', function MainCtrl() {
  'use strict';
  var vm = this;
  vm.angularVersion = angular.version.full;
  
});

 

posted @   Zhentiw  阅读(609)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示