返回目录 本文章应该是knockoutjs系列的最后一篇了,前几篇中主要讲一些基础知识,这一讲主要是一个实际的例子,对于一个对象的添加与编辑功能的实现,并将项目源代码公开了,共大家一起学习! knockoutjs系列目录 MVVM架构~Knockoutjs系列之text,value,attr,visible,with的数据绑定 MVVM架构~Knockoutjs系列之对象与对象组合 MVVM架构~Knockoutjs系列之js接收C#数据集合的方式 MVVM架构~Knockoutjs系列之验证机…
简介 为表单添加验证 添加校验的方法: 1. first name 不能为null 2. Email address 不能为null 3. age 必须大于18岁 为了在用户提交的时候,能够校验这个表单,我们必须在Action register 中定义一个方法: validate method @Override public void validate() { if (personBean.getFirstName() == null || personBean.getFirstName().…
返回目录 对于Knockoutjs本身来说,没有提供验证模块,不过,有第三方的扩展,就像你为jquery库作extensions一样,这讲中我将介绍一个Knockout插件扩展,knockout.validation.js,用它来实现对HTML标记的验证, 下面是它在Github上的地址https://github.com/Knockout-Contrib/Knockout-Validation.这个插件的使用很类似MVC自己的验证,如果你自己手动扩展过它的ValidationAttribute…
返回目录 对于一个项目的表单验证,方式有很多,效果也有很多,具体使用哪种完成取决于产品这边,产品让你用什么,你就要用什么,而做为开发人员,我们要做的就是"整理近可能多的架构方式",这样才可以自由的应变. 对于表单验证,我今天看了新浪的邮箱注册,觉得效果还可以,所以,就写了一个,它利用了knockoutjs里的hasfocus属性,对文本框进行焦点捕捉来实现的. 新浪截图 说明:表单元素为焦点时,自动提示要输入的信息,当元素失去焦点时,提示用户输出的正确性,这个功能使用了hasfocus属性,下面…
返回目录 对于knockout.validation来说,我们已经知道了如何去验证大部分表单元素,而有时,我们的需求希望在每个元素验证成功后,去显示正确的提示,这个我们很容易的使用self.元素.isValid()方法来实现. 下面给出相关的代码 CSS代码 <style type="text/css"> .validationMessage { background: url("/scripts/Images/l_registWarningIcon01.png&…
返回目录 上一讲中,我以一个实际中的例子说明了knockoutjs的自定义验证功能,在使用过程中,出现了一个问题,当然了不是问题,只是一种需求,上一讲中自定义验证的表现是:当页面加载后,自动显示有问题的表单元素,这在有些场合是不适合的,有时,我们希望它在被失去焦点时才将错误消息显示出来,而不去输入信息时,它保持一种原始状态,如下面的图: 我们可以看到,它在页面被加载后,显示一些友好的提示消息,而当用户没有按着这种规约输入时,它才会提示您错误的消息,如图: 最后输入正确,我们看到的就是: 当输入合…
返回目录 在面向对象的程序设计里,对象是核心,一切皆为对象,对象与对象之间的关系可以表现为继承和组合,而在Knockoutjs或者JS里,也存在着对象的概念,今天主要说一下JS里的对象及对象的组合. JS里对象可以使用{}生成,也可以使用function(){}方式生成,而使用function(){}方式我认为更灵活,使用{}方式更正规,我这里总结了一下,也是我的习惯,如果对象只是getter,setter的属性块, 可以使用{}的方式,如果对象比较复杂,由属性,方法 组成,这时最好使用func…
返回目录 说在前 有时,我们在使用一个插件时,在网上即找不到它的相关API,这时,我们会很抓狂的,与其抓狂,还不如踏下心来,分析一下它的源码,事实上,对于JS这种开发语言来说,它开发的插件的使用方法都在它的源码里,只要你踏下心去看,一切就都有了! Knockout.Validation.js是为Knockout插件服务的,它可以为Knockout对象进行验证,就像你使用MVC模型验证一样,而这种绑定的验证方式对于开发人员来说是很容易接受的,也是一种趋势,它在验证过程中,会将出现异常的点记录下来,…
iOS精选源码 在Object-C中学习数据结构与算法之排序算法 日历-基本功能都有的日历 选择日期 上下月 动画 仿抖音卡节拍界面 垂直.水平方向皆可滚动.header悬浮的列表视图 Auto Layout中Stack View的使用 swift,MVVM,Moya,SwiftyJSON,完整项目,高仿,精品 高仿腾讯视频.支付宝垂直滚动切换分类视图 KSWebView:最强大的WKWebView继承者 纯swift实现日历Demo 简单易用的弹出菜单(类似QQ) iOS优质博客 iOS 利用…
返回目录 对于一个JS对象来说,如果希望将所有属性进行监视,在之前我们需要一个个对属性添加ko.observable方法,而有了Mapping插件后,它可以帮助我们这件事. 在Mapping出现之前 var data={ serverTime:ko.observable( '2010-01-07'), numUsers: ko.observable(), realUsers: ko.observable(), } 我们需要对data对象里所有属性添加ko.observable方法,才可以对它进行…