Angularjs之ngModel中的值验证绑定方法


Posted in Javascript onSeptember 13, 2018

众所周知,在Angular中ngModel为动态双向绑定,存在两种方式。

例如,

方式一:

在html中,

<input type="text" ng-model="searchText" />
<button ng-click="check(searchText)">Check!</button>
{{ searchText }}

在controller中

$scope.check = function (searchText) {
 console.log(searchText);
}

方式二:

引用stackoverflow的一句话,

“If you use ng-model, you have to have a dot in there.” 
Make your model point to an object.property and you'll be good to go.

在html中,

<input ng-model="formData.searchText"/>
<button ng-click="check()">Check!</button>

在controller中,

$scope.formData = {};
$scope.check = function () {
 console.log($scope.formData.searchText.$modelValue);
}

但是我们常常会对ngModel当中的值进行验证,例如,

<input type="password" pattern="[0-9]*" placeholder="请输入6位新密码" ng-model="password.new_password" ng-blur="validateLength()">
<input type="password" ng-model="password.new_password" ng-keyup="compare(password)" name="repassword" ng-pattern="/^[0-9]{1,6}$/" />

发现ngModel当中的password.new_password不能实时绑定到controller中,原因为ngModel的值并没有符合pattern的规则。若符合规则,则正常绑定传递。

以上这篇Angularjs之ngModel中的值验证绑定方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery.alert 弹出式复选框实现代码
Jun 15 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
Nov 19 Javascript
用jQuery获取IE9下拉框默认值问题探讨
Jul 22 Javascript
JS实现两个大数(整数)相乘
Apr 28 Javascript
被遗忘的javascript的slice() 方法
Apr 20 Javascript
Jquery中基本选择器用法实例详解
May 18 Javascript
jQuery实现在列表的首行添加数据
May 19 Javascript
悬浮广告方法日常收集整理
Mar 18 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
Nov 19 Javascript
Vue自定义全局Toast和Loading的实例详解
Apr 18 Javascript
JS数据类型判断的几种常用方法
Jul 07 Javascript
JS前端使用Canvas快速实现手势解锁特效
Sep 23 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
Sep 13 #Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
Sep 13 #Javascript
mpvue中使用flyjs全局拦截的实现代码
Sep 13 #Javascript
AngularJS修改model值时,显示内容不变的实例
Sep 13 #Javascript
在vue中使用vue-echarts-v3的实例代码
Sep 13 #Javascript
vue的全局变量和全局拦截请求器的示例代码
Sep 13 #Javascript
ios设备中angularjs无法改变页面title的解决方法
Sep 13 #Javascript
You might like
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
Prototype Array对象 学习
2009/07/19 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
简单实现python收发邮件功能
2018/01/05 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
python实现维吉尼亚算法
2019/03/20 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
python实现贪吃蛇双人大战
2020/04/18 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
美国Max仓库:Max Warehouse
2020/05/31 全球购物
竞选班长演讲稿500字
2014/08/22 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书