热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Angularjs文档翻译及实例】表单指令集(input)

最近在看Angular的知识,无论是书中还是网上,讲解跟表单有关的指令集都是点到为止,讲些基础验证,比如,是否为空,是否为email地址,更多的并没有讲解,但是,当我查看Angul

最近在看Angular的知识,无论是书中还是网上,讲解跟表单有关的指令集都是点到为止,讲些基础验证,比如,是否为空,是否为email地址,更多的并没有讲解,但是,当我查看Angular的官方文档时,发现与input控件相关的指令集真的很丰富,有关HTML5新增的控件也有很多,所以,我试着将input相关的指令集部分的英文文档再加上自己的理解翻译了一下,如果有不当的地方还希望各位看观指正。

Angular真的很强大,强大的让人眼前一亮。

约定

参数名会使用驼峰式书写。例如ngShow,此参数用在控件的属性时,属性名为:ng-show。以此为约定。

input

用法

ng-model="string"
[name="string"]
[required="string"]
[ng-required="boolean"]
[ng-minlength="number"]
[ng-maxlength="number"]
[ng-pattern="string"]
[ng-change="string"]
[ng-trim="boolean"]>
...

参数说明

参数类型详情
ngModelstring改选参数,用于数据绑定
name(optional)string控件自定义名称,运行期间可使用些名称控制控件
required(optional)string如果添加此属性,并且内容为空,则设置$error.required为true
ngRequired(optional)boolean如果必填,则此属性设置为true
ngMinlength(optional)number如果输入的长度小于此值,就会设置$error.min为true
ngMaxlength(optional)number如果输入的长度大于此值,就会设置$error.max为true。如果此值设置为负数或者非数值,则表示可输入任意长度。
ngPattern(optional)string如果此属性中的表达式不能匹配输入的值,就会设置$error.pattern为true。如果表达式为RegExp对象,那么就会直接使用。如果表达式是一个字符串,那么Angular会在字符串外层增加^和$。比如,”abc”将会转换为new RegExp(‘^abc&’)。
ngChange(optional)stringonChange事件绑定
ngTrim(optional)boolean如果为false,不会修剪输入。如果输入框的类型为password,此属性无作用。默认是true

小贴士:记得,在使用$error时,要使用控件的name值作为变量,不应该使用ngModel值作为变量。

下面的代码分别演示了required和ngMinlength属性的用法,以及$error的实际应用。

请注意ngShow中的内容,使用的变量全部是name属性的值。



input1 is empty.

input2 is must longer than 5









form.txt1.$error.required:{{form.txt1.$error.required}}


form.txt2.$error.minlength:{{form.txt2.$error.minlength}}

var app = angular.module('myapp', []);
app.controller('inputCtrl', function($scope) {
$scope.input1 = 'required';
$scope.input2 = 'min';
});

运行效果:https://jsfiddle.net/Lionney/my2ht8fx/

input[checkbox]、input[date]以及input[datetime-local]

input[checkbox]用法

ng-model="string"
[name="string"]
[ng-true-value="expression"]
[ng-false-value="expression"]
[ng-change="string"]>

其中ngMode、name以及ngChange请参照input的参数列表,下面,仅列出与上个控件不同的参数。

参数说明

参数类型详情
ngTrueValue(optional)expression当选择框为选中状态时,则返回此属性中的值。此属性内容默认为表达式,所以,如果是字符型数据,则要在外面使用’包含起来。比如:ng-true-value=”‘abc'”,否则会按表达式处理。
ngFalseValue(optional)expression当选择框为未选中状态时,则返回此属性中值。其余同上。

input[date]用法

ng-model="string"
[name="string"]
[min="string"]
[max="string"]
[ng-min=""]
[ng-max=""]
[required="string"]
[ng-required="string"]
[ng-change="string"]>

其中ngMode、name、required、ngRequired以及ngChange请参照input的参数列表,下面,仅列出与input控件不同的参数。

参数说明

参数类型详情
min(optional)string日期选择器是HTML5中新加的表单控件类型,此属性是为了设置控件最小可选择的日期。这个属性必须使用ISO日期字符串(yyyy-MM-dd)格式。当然,也可以插入变量(详见注释1)。如果不符合此属性设置的最小值,则会设置$error.min为true。
max(optional)string此属性为设置日期控制所能选择的最大日期。其它与上一参数相同。如果不符合此属性设置的最小值,则会设置$error.max为true。
ngMin(optional)datestring此为angular的属性,设置后,不会影响控件的最小可选择日期,如果用户选择填写的与属性不符,则会设置$error.min为true。属性设置方法与min参数相同
ngMax(optional)datestring此为angular的属性,设置后,不会影响控件的最大可选择日期,如果用户选择填写的与属性不符,则会设置$error.max为true。属性设置方法与max参数相同

注释1:min=”{{minDate | date:’yyyy-MM-dd’}}”

input[datetime-local]用法

ng-model="string"
[name="string"]
[min="string"]
[max="string"]
[ng-min=""]
[ng-max=""]
[required="string"]
[ng-required="string"]
[ng-change="string"]>

此控件与date控件一样,只是在设置min、max、ngMin、ngMax属性时,内容有所不同,因为此控件是选择日期及时间,所以设置的时候要加上时间,格式依然要使用ISO规定的日期时间格式(yyyy-MM-ddTHH:mm:ss),当使用日期过滤器时,格式化为:”{{maxDatetimeLocal | date:’yyyy-MM-ddTHH:mm:ss’}}”

其它的参数说明与date是一样,可以参照date参数说明。

下面实例为使用了以上控件的综合实例,代码如下:



选择1


选择2



min validate error.



min validate error.


ck={{ck1}}


ck={{ck2}}


dd={{dd}}


dl={{dl}}

var app = angular.module('checkbox', []);
app.controller('ckCtrl', function($scope) {
$scope.ck1 = true;
$scope.ck2 = 7
$scope.dd = new Date('2017-01-01');
$scope.dl = new Date('2017-01-01 08:08:00');
});

程序说明

当使用$error时,必须同时设置控件的name与ngModel属性,使用name属性值做为变量,否则,程序将达不到验证效果。验证的提示信息也必须放在form表单中,见代码中带有ngShow部分内容。

checkbox的初始化有两种方式,第一种即此代码中所展示的ck1。如果没有设置ngTureValue/ngFalseValue的话,可以直接赋值true/false。第二种为此代码中所展示的ck2。如果设置了ngTureValue/ngFalseValue,那么要使用ngTureValue/ngFalseValue中的值来初始化选择框状态。

运行效果https://jsfiddle.net/Lionney/snojqoqy/


推荐阅读
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
author-avatar
wyl8605204
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有