大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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:094001
用户头像

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

关注

评论

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

易观:正视GPT-4功能缺陷与能力局限可更好探索大模型应用

易观分析

科技

全球运营商的新共识:2025走向自智网络L4

脑极体

自智网络

软件测试/测试开发丨学习Docker就应该掌握的dockerfile语法与指令

测试人

Docker 软件测试 测试开发

两会代表热议采用ChatGPT指导论文写作:防范抄袭的探索与思考

GPU算力

人工智能 深度学习 ChatGPT

阿里云Elasticsearch让搜索上云像使用“水电”一样简单

阿里云大数据AI技术

阿里云 搜索 Elasticearch

阿里P8架构师都在卷的《23种设计模式加强版》宝典

程序知音

Java 架构 编程语言 设计模式 后端技术

最强阿里及大厂350道面试大全:框架+数据库+并发+开源+微服务

Java你猿哥

Java 数据库 架构 微服务 面经

TCP 三次握手,给我长脸了噢

程序员小富

TCP

带你全方面了解字节A/B实验的文化与工具

字节跳动数据平台

大数据 AB testing实战 实验 A/B测试 企业号 3 月 PK 榜

字节跳动DataLeap数据血缘实践

Openlab_cosmoplat

数据 开源社区 数据血缘

微帧自研|客观评价模型与主观DMOS分数拟合的分享与实用性探讨

微帧Visionular

计算机视觉 视频编解码

无需二次开发,SOAP-to-REST 简化企业用户的业务迁移和整合

API7.ai 技术团队

最佳实践|焱融全闪存储实现与美的集团破千万 IOPS 性能

焱融科技

文件存储 分布式文件存储 高性能存储 全闪存储 美的

Apache Flink X Apache Doris 构建极速易用的实时数仓架构

Apache Flink

大数据 flink 实时计算

你关切的Code Review三大问题,我以业务实践作答

极狐GitLab

DevOps Code Review 代码质量 代码规范 代码评审

干货 | BitSail Connector开发详解系列一:Source

字节跳动数据平台

开源 数据集成 数据引擎 企业号 3 月 PK 榜

远程桌面工具:Microsoft Remote Desktop激活版

真大的脸盆

Mac 远程办公 Mac 软件 远程工具

2 万字长文:声明式配置技术概述

Peefy

DevOps 编程语言 开发者工具 #Kubernetes# #开源

openGemini正式加入openEuler DB SIG,携手开展全方面技术创新

华为云开源

时序数据库

《2022年IT行业项目管理调查报告》重磅发布!

禅道项目管理

为什么 APISIX Ingress 是比 Emissary-ingress 更好的选择?

API7.ai 技术团队

屡试不爽!一份阿里Java程序性能实战笔记,啃完让你程序快上200%

Java你猿哥

Java ssm 面经

【Docker】MacOs安装

Aldeo

Docker 云原生

软件测试/测试开发丨Docker 镜像构建可以分享的快乐

测试人

Docker 软件测试 测试开发

让 API 管理效率更进一步的 API7 DevPortal

API7.ai 技术团队

api 网关 API7

复旦邱锡鹏:深度剖析 ChatGPT 类大语言模型的关键技术

NLP资深玩家

人工智能 ChatGPT

专业HTML文本编辑器:BBEdit 激活版

真大的脸盆

Mac Mac 软件 文本编辑器 文本编辑

关于文件传输协议,你不知道的事

镭速

LeetCode题解:137. 只出现一次的数字 II,排序后搜索,JavaScript,详细注释

Lee Chen

JavaScript LeetCode

如何让人形机器人“行稳致远”?这篇顶级期刊的论文提出了新方法

优必选科技

机器人

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