写点什么

AngularJS 1.3 改进了 HTML 表单

  • 2014-09-23
  • 本文字数:1373 字

    阅读完需:约 5 分钟

即将到来的 AngularJS 1.3 重点改进了表单数据操作。虽然该版本解决了一些实际问题,但对于部分开发人员来说,它可能不是一次能够自动完成的升级。

AngularJS 团队已经开始推出 1.3 的候选版本。在一份 Google+ 公告中,Angular 团队写道:

1.3 版本的大部分 API 都已经确定,接下来的版本,直到 1.3.0 稳定版,将修复现有的 Bug。

1.3 版本包含如下新特性:

  • 新的验证器管道
  • 自定义异步验证器
  • 模型数据绑定选项
  • ngMessages 错误信息模块重用
  • 支持一次性数据绑定

最新版本为开发人员提供了一种创建自定义验证器的新方法,它不需要使用“分析器(parser)”和“格式器(formatter)”。在 1.3 中,要创建一个自定义验证器,开发人员必须把它注册到新的 $validator 管道上,并返回 true 或 false:

复制代码
ngModule.directive('validateLessthanfive', function() {
return {
require : 'ngModel',
link : function($scope, element, attrs, ngModel) {
ngModel.$validators.lessthanFive = function(value) {
return (value < 5);
};
}
}
});

Matias Niemela 是一名 Angular 贡献者,关于新的表单特性,他写了一篇十分详细的报道,其中包括创建异步验证器提供基于服务器的验证这一新功能。Matias 还提到,HTML5 验证器也进行了同样的改进:

现在,每当验证失败时,所有的 HTML5 验证属性都会以恰当的方式绑定到 ngModel,而错误则注册到 ngModel.$error。

Angular 团队在 1.3 版本中引入了破坏性更改,这引来部分开发人员的抱怨,他们认为这应该在主要版本(比如,2.0 版本)更新时出现。在 GitHub 上最近一次提交的评论中,Woot 软件开发经理 Chad Moran 警告说:

做破坏性更改,而又不生成一个主要版本,这很可能给用户带来巨大的麻烦。

1.3 中可能影响到企业开发人员的一项更改是不再支持 IE8。在 2013 年 12 月 Angular 团队在他们的博客上宣布这一消息以来,开发人员已经发出了大量的警告。之所以进行这项更改,部分是因为1.3 版本只支持jQuery 2.1 或更高版本,而jQuery 在2.x 版本中停止支持IE8。

在Angular 的早期版本中,为了在正确时间显示正确的错误信息,表单验证错误信息的显示结合了ng-if 指令和大量的布尔逻辑。1.3 版本引入了ngMessages 模块,作为一种改进方法,用来处理复杂的验证错误信息。下面是一个摘自 yearofmoo.com 博文的新语法示例:

复制代码
<form name="myForm">
<input type="text" name="colorCode" ng-model="data.colorCode" minlength="6" required />
<div ng-messages="myForm.colorCode.$error" ng-if="myForm.$submitted || myForm.colorCode.$touched">
<div ng-message="required">...</div>
<div ng-message="minlength">...</div>
<div ng-message="pattern">...</div>
</div>
</form>

据 Niemela 说,除代码行数减少外,新的 ng-messages 模块将“解决一个错误在另一个错误之前出现这一情况的复杂性。”

尚不清楚 1.3.0 什么时候能达到稳定版本,但在 1.2 版本正式发布前,在三个月的时间里出现了三个候选版本。而目前为止,在三个周的时间里,已经有三个 1.3 候选版本。1.3 版本后是 2.0 版本,根据Angular 团队的一篇博文,那个版本的重点是使Angular 成为一个“适用于移动应用的框架”。

AngularJS 是一个由 Google 创建的 JavaScript 框架。

查看英文原文:**** AngularJS 1.3 Improves HTML Forms

2014-09-23 10:094009
用户头像

发布了 256 篇内容, 共 99.8 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

2021Java高级进阶学习资料,字节跳动Java高级工程师

Java 程序员 后端

2021年Java岗位BAT大厂面试题知识点小结,挥泪整理面经

Java 程序员 后端

2021年是意义非凡的一年,差点挂在第四面

Java 程序员 后端

2021年字节跳动74道高级程序员面试,2021Java面试真题精选干货整理

Java 程序员 后端

2021年春招Java面试题,2021最新腾讯Java面试分享

Java 程序员 后端

2021年Java常见面试题目,图灵学院诸葛,阿里P7大牛整理

Java 程序员 后端

2021年上半年最接地气的Java面经,2021年Java常见面试题目

Java 程序员 后端

2021Java高级面试题总结,kafka面试常见问题

Java 程序员 后端

2021Java高级面试题,极客时间vip年卡,看懂这些帮你轻松解决就业问题

Java 程序员 后端

2021大厂Java社招最全面试题,2021年Java开发者常见面试题

Java 程序员 后端

2021年Java开发者跳槽指南,2021年我们程序员该如何进阶和规划

Java 程序员 后端

2021年华为Java面经,顺利收获Offer

Java 程序员 后端

2021年大厂Java高级面试题分享,Java高并发秒杀面试题

Java 程序员 后端

2021大厂Java面试真题集锦,京东健康Java面试

Java 程序员 后端

【AI 全栈 SOTA 综述 】这些你都不知道,怎么敢说会 AI?【语音识别原理 + 实战】

声网

AI 算法 音视频

2021大厂Java面试经历,Java技术面试常见问题

Java 程序员 后端

阿里亿级长连网关的云原生演进之路

阿里巴巴终端技术

云原生 架构设计 网关 客户端开发

2021Java面试笔试总结,jdk使用教程,Java高级工程师必备知识

Java 程序员 后端

2021大厂Java开发面试总结+解答,Java基础笔试题大全带答案

Java 程序员 后端

2021大厂Java开发面试总结+解答,【一步教学,一步到位】

Java 程序员 后端

最新阿里P6-P7Java研发岗面经:技能要求+面试真题+经验总结

Java 程序员 面试 阿里

2021年是意义非凡的一年,架构师带你玩转Redis高性能缓存设计实战

Java 程序员 后端

2021年最新Java面试精讲,java开发技术教程,Java简单入门教程

Java 程序员 后端

2021一位Java中级程序员的跳槽面经,最全的BAT大厂面试题整理

Java 程序员 后端

2021年Java大厂面试分享,漫谈设计模式在Spring框架中的良好实践

Java 程序员 后端

2021年京东Java岗面试必问,Java中级程序员面试题

Java 程序员 后端

2021年大厂Java面经,Java高并发编程详解pdf下载

Java 程序员 后端

谈一谈最小二叉堆的几种操作

Regan Yue

算法 10月月更

2021Java高级面试题汇总解答,Java开发新手入门教程

Java 程序员 后端

2021年Java面试心得,从理论到实践!

Java 程序员 后端

2021年华为Java面经,【面试必备】

Java 程序员 后端

AngularJS 1.3改进了HTML表单_JavaScript_David Iffland_InfoQ精选文章