有时,我们在使用一个插件时,在网上即找不到它的相关API,这时,我们会很抓狂的,与其抓狂,还不如踏下心来,分析一下它的源码,事实上,对于JS这种开发语言来说,它开发的插件的使用方法都在它的源码里,只要你踏下心去看,一切就都有了!
Knockout.Validation.js是为Knockout插件服务的,它可以为Knockout对象进行验证,就像你使用MVC模型验证 一样,而这种绑定的验证方式对于开发人员来说是很容易接受的,也是一种趋势,它在验证过程中,会将出现异常的点记录下来,然后在
某个时候将它抛出来,这个抛出的时刻通常是对象失去焦点时(blur)。
为空验证
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等验证,都大同小意,我就不一一说了。