<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          js-validatorJavaScript 對象驗證庫

          聯(lián)合創(chuàng)作 · 2023-09-22 06:20

          js-validator 是 Laravel 風(fēng)格的 JavaScript 對象驗證庫。

          使用 js-validator 來驗證對象或者 JSON 是否符合規(guī)則非常方便,而且具有很好的可擴展性。

          舉個例子

          var example = {
                text: 'Hello world!',
                date: '2015-07-07',
                comments: null,
              },
              rules = {
                text: 'required|string',
                date: 'date|date_format:yyyy-MM-dd',
                comments: 'integer',
              };
          console.log(Validator.validate(example, rules));
          // => Object {status: "failed", field: "comments", rule: "integer"}

          基本用法

          引入validator.js(原生JavaScript)

          <script type="text/javascript" src="./src/validator.js">
          </script>

          <script type="text/javascript" src="./dist/validator.min.js">
          </script>

          初始化(非原生JavaScript)

          Node.js

          npm install ppoffice/js-validator --save
          var validator = require('js-validator');

          RequireJS

          requirejs(["../src/validator"], function(validator) {
            ...
          });

          Sea.js

          define(function (require, exports, module) {
            var validator = require('./validator');
            ...
          });

          制定驗證規(guī)則

          對于同一個對象屬性,你可以并列制定幾個不同的規(guī)則進行限定,使用|作為不同規(guī)則間的分割符。

          var rules = {
            text: 'required|string',
            date: 'date|date_format:yyyy-MM-dd',
            comments: 'integer',
          };

          驗證

          validator.validate(object_to_be_tested, rules);

          如果待驗證對象符合規(guī)則,validate函數(shù)返回true;否則返回帶有驗證狀態(tài)、失敗的屬性和對應(yīng)失敗的規(guī)則信息的對象。

          添加驗證器

          使用add方法為Validator添加驗證器,第一個參數(shù)為驗證器名稱,第二個參數(shù)為驗證方法,可以為正則表達式對象或者函數(shù)。當(dāng)驗證方法為函數(shù)時,其第一個參數(shù)必須為當(dāng)前驗證域的值,后面的參數(shù)根據(jù)需求而定,驗證成功時結(jié)果返回true。

          validator.add('older_than', function (value, age) {
            return value > age;
          });var rules = {
            age: 'integer|older_than:17',
          };

          可用的驗證規(guī)則

          驗證規(guī)則 規(guī)則含義
          accepted 驗證域必須為yes、on、1、或者true。 這個規(guī)則常用語驗證“同意使用條款”表單。
          after:date 驗證的日期域的日期必須在指定日期之后。
          alpha 驗證域必須由純英文字符組成。
          alpha_dash 驗證域必須由英文字符、數(shù)字、中劃線或者下劃線組成。
          alpha_num 驗證域必須由英文字符或者數(shù)字組成。
          array 驗證域必須為數(shù)組對象。
          before:date 驗證的日期域的日期必須在給定日期之前。
          between:min,max 驗證域的值必須在min和max之間,驗證域可以是數(shù)字或者字符串。
          boolean 驗證域的值可以看作是布爾值,可以是true,false,1,0,"1","0",'1' and '0'。
          date 驗證域必須為日期字符串形式,可以被Date.parse方法解析。
          date_format:format 驗證域必須符合制定的日期格式,允許的日期格式參照源代碼中的dateFormat方法。
          different:field 驗證域的值必須域指定域的值不同。
          digits:value 驗證域必須為數(shù)字,且其位數(shù)為給定的位數(shù)。
          digits_between:min,max 驗證域必須為數(shù)字,且其位數(shù)在min和max之間。
          email 驗證域必須為電子郵件地址格式。
          in:foo,bar,... 驗證域的值必須在給定的允許值列表中。
          integer 驗證值必須為整數(shù)。
          ip 驗證值必須為IP地址形式(支持IPv4與IPv6)。
          max:value 驗證域的值必須小于等于max,驗證域可以是數(shù)字或者字符串。
          mimes:foo,bar,... 驗證值的擴展名必須在給定的擴展名列表中。
          min:value 驗證域的值必須大于等于min,驗證域可以是數(shù)字或者字符串。
          not_in:foo,bar,... 驗證域的值必須不在給定的值列表中。
          numeric 驗證域必須為數(shù)字。
          regex 驗證域必須符合指定的正則表達式(JavaScript風(fēng)格)。
          required 驗證域必須存在。
          required_if:field,value,... 如果給定的域的值等于給定的值,驗證域必須存在。這里的條件可以是多個域和值,它們之間的關(guān)系為“與”。
          required_with:foo,bar,... 如果給定的域之中任何一個存在的話,驗證域必須存在。
          required_with_all:foo,bar,... 僅當(dāng)所有給定的域存在時,驗證域必須存在。
          required_without:foo,bar,... 如果給定的域之中任何一個不存在的話,驗證域必須存在。
          required_without_all:foo,bar,... 僅當(dāng)所有給定的所有域都不存在時,驗證域必須存在。
          same 驗證域的值必須域指定域的值相同。
          size:value 驗證域的大小必須等于指定大小。對于字符串來說,驗證域的字符串長度必須等于給定長度。對于數(shù)字來說,驗證域的值必須等于給定值。
          string 驗證域必須為字符串。
          url 驗證域必須為URL地址。當(dāng)前不支持含有非英文(中文等)字符的地址。

          測試文件入口

          ./test/index.html     原生JavaScript支持測試

          ./test/node.js        Node.js支持測試

          ./test/requirejs.html RequireJS支持測試

          ./test/seajs.html Sea.js支持測試

          瀏覽 22
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日逼免费观看视频 | 伊人网小说一人一轮一乱一按 | 色播五月婷婷网 | riri.av | 无人区乱码1区2区3区在线 |