• 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

     返回目录

  • 相关阅读:
    php中的list()用法中要注意的地方
    怎么让小白理解intel处理器(CPU)的分类
    CPU的历史
    【主板上各种接口和附属部件科普】
    NVMe SSD是什么?
    带你认识SATA、mSATA 、PCIe和M.2四种接口
    那些长短不一的PCI-E插槽都有什么不一样?
    ceph 指定OSD创建pool
    ceph cache pool配置
    搭建ceph集群(单节点)
  • 原文地址:https://www.cnblogs.com/TF12138/p/4173174.html
Copyright © 2020-2023  润新知