摘要:根據網上現有的資料改的適用的策略驗證,如果還需要別的驗證直接自己添加規則就行了。
根據網上現有的資料改的vue適用的策略驗證,如果還需要別的驗證直接自己添加規則就行了 。 上代碼
新建一個js文件
let strategys = { isNotEmpty: (value, errorMsg) => { if(value === ""){ return errorMsg; } }, minLength: (value, length, errorMsg) => { if(value.length < length){ return errorMsg; } }, mobileFormat: (value, errorMsg) => { if(!/(^1[3|5|8][0-9]{9}$)/.test(value)) { return errorMsg; } } } export var Validator = function () { this.cache = []; // 保存效驗規則 }; Validator.prototype.add = function(dom,rule,errorMsg) { var str = rule.split(":"); this.cache.push(function(){ // str 返回的是 minLength:6 var strategy = str.shift(); str.unshift(dom); // value添加進參數列表 str.push(errorMsg); // 把errorMsg添加進參數列表 return strategys[strategy].apply(dom,str); }); }; Validator.prototype.start = function () { for (var i = 0, validatorFunc; validatorFunc = this.cache[i++]; ) { var msg = validatorFunc() // 開始效驗 并取得效驗后的返回信息 if(msg) { return msg } } };
將文件導入要使用的組件或者視圖中
import { Validator } from "./validate.js"
然后在你需要的地方導入就搞定了
methods: { submit_click() { let errorMsg = this.validateFunc(); if (errorMsg) { alert(errorMsg); return false } }, validateFunc() { let that = this; let validator = new Validator(); validator.add(that.userName, "isNotEmpty", "用戶名不能為空"); validator.add(that.password, "minLength:6", "密碼長度不能小于6位"); validator.add(that.phoneNumber, "mobileFormat", "手機號碼格式不正確"); var errorMsg = validator.start(); // 獲得效驗結果 return errorMsg; // 返回效驗結果 } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81786.html
摘要:策略模式又稱政策模式,其定義一系列的算法,把它們一個個封裝起來,并且使它們可以互相替換。的表單具有表單驗證功能,用來校驗用戶輸入的表單內容。實際需求中表單驗證項一般會比較復雜,所以需要給每個表單項增加自定義校驗方法。 showImg(https://segmentfault.com/img/remote/1460000020135990); 策略模式 (Strategy Pattern...
摘要:站點接收到請求后,對請求進行驗證,并確認是受害者的憑證,誤以為是無辜的受害者發送的請求。函數內部語句返回的值,會成為方法回調函數的參數。 記錄我最近面試缺漏的知識點 css 1.bootstrap如何實現手機PC端自適應 媒體查詢 2.flex布局 父容器:(記得常用屬性) display:flex flex-direction: row | row-reverse | column ...
摘要:策略模式由兩部分構成一部分是封裝不同策略的策略組,另一部分是。策略模式的典型應用場景是表單校驗中,對于校驗規則的封裝。然而圖像的壓縮及上傳錯誤處理等部分是公用的。遂考慮使用策略模式封裝。 淺談 JavaScript 中策略模式的使用: 什么是設計模式 什么是策略模式 策略模式在 JavaScript 中的應用(使用策略模式封裝百度AI識別調用) 策略模式在 Vue 組件封裝中的應用(...
閱讀 3046·2023-04-26 02:27
閱讀 2763·2021-11-22 13:54
閱讀 902·2021-11-12 10:36
閱讀 3753·2021-10-09 09:44
閱讀 3178·2021-10-09 09:41
閱讀 1223·2021-09-22 10:02
閱讀 2833·2019-08-30 15:56
閱讀 3106·2019-08-30 11:02