写点什么

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

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

关注

评论

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

电商新时代,商家还能怎样赚钱?

自象限

小智常见报表示例--层次坐标--环比报表

小智数据

小智报表 环比报表 常见报表示例 自定义报表打印控件

微软最新WiFi远程代码执行漏洞(CVE-2024-30078)探究

阿里技术

微软 漏洞 WiFi远程代码 更新中 30078

小智常见报表示例--层次坐标--逐层累计报表

小智数据

小智报表 开源报表 类excel报表 自定义打印控件 逐层累计复杂报表

终端设备识别准确率高达99.999%

芯盾时代

终端安全 移动应用安全 风控 反欺诈

VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS xFusion (超聚变) 定制版

sysin

esxi OEM BIOS unlocker

玩转 Easysearch 语法

极限实验室

数据库 搜索引擎 easysearch 极限科技 征文系列

用这2款AIPPT软件,让你的Markdown生成PPT!

彭宏豪95

人工智能 PPT 在线白板 AIGC AI生成PPT

优秀Java 开发者都在参与的项目

XIAOJUSURVEY

maven 服务端 springboot Java 8

socks5全局代理客户端:Proxifier for Mac 注册版

你的猪会飞吗

Mac软件 mac下载

人工智能与语音识别:技术进步与应用前景

天津汇柏科技有限公司

语音识别 人工智能’

火山引擎ByteHouse发布高性能全文检索引擎

字节跳动数据平台

数据库 大数据 云原生 Clickhouse 数仓

公开课 | 软件测试简历书写、职业规划及面试的必备技能

测试人

软件测试

创新·链接·共赢|端点科技出席第五届国有企业数智化采购与智慧供应链论坛

科技热闻

小智常见报表示例--层次坐标--比较报表

小智数据

小智报表 开源报表 类excel报表 自定义报表控件 报表批量打印

微软研究人员推出SpreadsheetLLM!旨在理解和处理电子表格;“神农大模型 2.0”正式发布!|AI日报

可信AI进展

人工智能

借助 NGINX 对本地的 Kubernetes 服务进行自动化的 TCP 负载均衡

NGINX开源社区

nginx 开源 Kubernetes NGINX Ingress Controller nginx 开源版

阿里云 MaxCompute MaxFrame 开启免费公测,统一 Python 开发生态

阿里云大数据AI技术

数据挖掘 大数据 阿里云 分布式计算 MaxCompute

天池AI大模型技术提升营火热上线,四重好礼等你来拿!

阿里云天池

AI

Easysearch 新特性:写入限流功能介绍

极限实验室

征文活动 easysearch 极限科技 写入限流

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