博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVVM架构~knockoutjs系列之验证信息自定义输出~续
阅读量:6593 次
发布时间:2019-06-24

本文共 1393 字,大约阅读时间需要 4 分钟。

,我以一个实际中的例子说明了knockoutjs的自定义验证功能,在使用过程中,出现了一个问题,当然了不是问题,只是一种需求,上一讲中自定义验证的表现是:当页面加载后,自动显示有问题的表单元素,这在有些场合是不适合的,有时,我们希望它在被失去焦点时才将错误消息显示出来,而不去输入信息时,它保持一种原始状态,如下面的图:

我们可以看到,它在页面被加载后,显示一些友好的提示消息,而当用户没有按着这种规约输入时,它才会提示您错误的消息,如图:

最后输入正确,我们看到的就是:

 

 

当输入合法后,结果如图:

下面说一下实现代码

HTML核心代码

账号:
请输入用户名账号,它由字母汉字数字组成

其中validationMessage是指定将验证的错误消息进行绑定输出,它比我们上一讲用的error()更好友,它在页面初始化时,不会被执行.isValid()方法是指当前元素是否验证通过,true表示验证通过,反之为出现错误,错误消息会被装载到validationMessage

属性上,initName是我为warn提示建立一个附加对象,是指当页面被初始化时,显示warn信息,而当元素被修改后,显示验证信息或者成功的信息,validationElement表示当前被验证的元素,你在后台为错误消息设置的css类,可以直接反映到时它上面

JS核心代码

ko.validation.configure({//ko.validation相关配置                insertMessages: false,//不自动插入错误消息                errorClass: 'error',//指定反映到validationElement对象上            });            self.name = ko.observable().extend({                minLength: 2,                maxLength: { params: 30, message: "名称最大长度为30个字符" },                required: {                    params: true,                    message: "请输入名称",                },            });            self.initName = ko.observable(!self.name.isValid());            self.name.subscribe(function (newValue) {                self.initName(false);            });

到目前为止,我们的ko.validation讲的就差不多了,在以后的工作中可能还会遇到新的问题,我同样会把它记下来,写出来的,呵呵.

本文转自博客园张占岭(仓储大叔)的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
JAVA字符串中的转义字符 " \ "
查看>>
cookie 和session 的区别
查看>>
jquery live() delegate() on() 事件委托的一些区别
查看>>
Windows Phone 7 应用升级 Windows phone 8 方案预览 选择合适的 Key Feature
查看>>
Tiny快速入门之服务开发
查看>>
iOS7 SDK新特性
查看>>
MySQL用户管理
查看>>
fastdfs 上传文件后直接获取,延迟问题
查看>>
centos ab使用
查看>>
【VMCloud云平台】SCOM配置(十一)-安装SCOM报表点
查看>>
我的友情链接
查看>>
java泛型学习3之类型参数的限制
查看>>
设置session过期的各种方式(主要看weblogic的方式)
查看>>
数据库安装过程中报错及解决
查看>>
公司出口路由器配置
查看>>
double 值计算
查看>>
输出九九乘法口诀表
查看>>
python判断参数是否是合法标识符
查看>>
MySQL事务内幕与ACID
查看>>
安卓学习-文件管理
查看>>