zoukankan      html  css  js  c++  java
  • 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

     返回目录

  • 相关阅读:
    [剑指 Offer 11. 旋转数组的最小数字]
    进程描述符(PCB)
    [剑指 Offer 57. 和为s的两个数字]
    Linux netstat命令
    kafka2.3.X配置文件
    docker
    shell操作mysql数据库
    Linux文件查找之find命令
    sed 切割日志文件
    Linux文本处理之awk
  • 原文地址:https://www.cnblogs.com/TF12138/p/4173174.html
Copyright © 2011-2022 走看看