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

 返回目录

你可能感兴趣的:(validation)