NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

DRBD是什么意思?优缺点是什么?

行云管家

高可用 运维 HA高可用

Java agent还不了解的程序员该反省一下了

爱好编程进阶

Java 程序员 后端开发

Java8-Stream:2万字20个实例,玩转集合的筛选

爱好编程进阶

Java 程序员 后端开发

堡垒机是什么意思?别称是啥?

行云管家

网络安全 防火墙 数据安全 堡垒机

3.0.0 alpha 重磅发布!九大新功能、全新 UI 解锁调度系统新能力

Apache DolphinScheduler

Bigdata DolphinScheduler workflow Open Source apache 社区

Java基础06 数组基础

爱好编程进阶

Java 程序员 后端开发

直播预告|青藤云安全 x 极狐,云原生 DevSecOps 安全左移全解析

极狐GitLab

云原生 DevSecOps 主机安全 容器安全 软件安全

RNG战队LPL春季赛夺冠!中国电竞产业未来如何实现“破与立”?

易观分析

电竞产业

JavaWeb快速入门--JSP(2)

爱好编程进阶

Java 程序员 后端开发

有更新!鸿蒙智联生态产品《接入智慧生活App开发指导》(官方版)

HarmonyOS开发者

HarmonyOS 鸿蒙智联

netty系列之:使用Jboss Marshalling来序列化java对象

程序那些事

Java Netty 程序那些事 4月月更

macOS 安装 Nebula Graph 看这篇就够了

NebulaGraph

macos 图数据库 安装部署

dubbo实战之二:与SpringBoot集成

爱好编程进阶

Java 程序员 后端开发

HotSpot JVM 内存管理

爱好编程进阶

Java 程序员 后端开发

web前端培训React调度器原理分析

@零度

前端开发 React

JAVA中的位运算与二进制操作

爱好编程进阶

Java 程序员 后端开发

9个国内/外行业 NPS (净推荐值)基准网站

龙国富

NPS

必示科技入围未来银行科技服务商Top100榜单

BizSeer必示科技

it资产管理系统解决方案

低代码小观

资产管理 企业管理系统 CRM系统 IT治理 资产安全

FusionStorage原理及组件

爱好编程进阶

Java 程序员 后端开发

hadoop

爱好编程进阶

Java 程序员 后端开发

JavaWeb之Cookie和Session技术(四)

爱好编程进阶

Java 程序员 后端开发

华为推出OpenHarmony生态使能服务 加速OpenHarmony商用发行版落地

科技汇

离AI无处不在还有多远?从一个英特尔开源平台开始实现

科技新消息

Java中的复用类

爱好编程进阶

Java 程序员 后端开发

Hexo 搭建:搭建与配置

爱好编程进阶

Java 程序员 后端开发

JavaWeb之JSP技术(三)

爱好编程进阶

Java 程序员 后端开发

容器化|在 S3 备份恢复 RadonDB MySQL 集群数据

RadonDB

MySQL 数据库 Kubernetes 高可用 容器化

Java Script

爱好编程进阶

Java 程序员 后端开发

Java代理模式,一次复习完4种动态代理实现方式

爱好编程进阶

Java 程序员 后端开发

Cube 技术解读 | Cube 渲染设计的前世今生

蚂蚁集团移动开发平台 mPaaS

mPaaS Android; cube

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