首页 > 代码库 > MVVM架构~knockoutjs系列之从Knockout.Validation.js源码中学习它的用法

MVVM架构~knockoutjs系列之从Knockout.Validation.js源码中学习它的用法

说在前

有时,我们在使用一个插件时,在网上即找不到它的相关API,这时,我们会很抓狂的,与其抓狂,还不如踏下心来,分析一下它的源码,事实上,对于JS这种开发语言来说,它开发的插件的使用方法都在它的源码里,只要你踏下心去看,一切就都有了!

Knockout.Validation.js是为Knockout插件服务的,它可以为Knockout对象进行验证,就像你使用MVC模型验证 一样,而这种绑定的验证方式对于开发人员来说是很容易接受的,也是一种趋势,它在验证过程中,会将出现异常的点记录下来,然后在

某个时候将它抛出来,这个抛出的时刻通常是对象失去焦点时(blur)。

总结Knockout.Validation.js几个常用的东西

为空验证

    self.CategoryId = ko.observable().extend({            required: true        });

最大最小值验证

      self.price = ko.observable().extend({            required: { params: true, message: "请输入价格" },            min: { params: 1, message: "请输入大于1的整数" },            max: 100        });

长度验证

      self.name = ko.observable().extend({            minLength: 2,            maxLength: { params: 30, message: "名称最大长度为30个字符" },            required: {                params: true,                message: "请输入名称",            }        });

电话验证

   self.phone = ko.observable().extend({            phoneUS: {                params: true,                message: "电话不合法",            }        });

邮箱验证

   self.Email = ko.observable().extend({            required: {                params: true,                message: "请填写Email"            },            email: {                params: true,                message: "Email格式不正确"            }        });

数字验证

     self.age = ko.observable().extend({            number: {                params: true,                message: "必须是数字",            }        });

相等验证

 self.PayPassword = ko.observable().extend({            required: {                params: true,                message: "请填写支付密码"            },            equal:{                params:"zzl",                message:"支付密码错误"            }

事实上,Knockout.Validation.js还有包括range,date,digit,notEqual等验证,都大同小意,我就不一一说了。

Knockout.Validation.js源码

View Code

 返回目录

MVVM架构~knockoutjs系列之从Knockout.Validation.js源码中学习它的用法