1. 程式人生 > >【問題記錄】VeeValidate配置中文的兩種不同做法

【問題記錄】VeeValidate配置中文的兩種不同做法

舊版: "vee-validate": "^2.0.0-rc.13"

新版:"vee-validate": "^2.1.0-beta.7"

安裝最新版的VeeValidate之後對其進行中文化操作時,

之前老一套(2.0版)中文化的做法如下圖:

系統報錯提示 addLocale 是不存在的,所以這個時候,要麼將版本降低至2.0版,要麼就再安裝一個玩意兒:vue-i18n

執行命令 yarn add vue-i18n

此時,新一套(2.1版)中文化的做法如下圖:

------------------------------- 2018.8.30 更新 -----------------------------

使用新版的中文配置時,發現between等兩個值直接的那種校驗顯示是異常滴!百般無奈只好退而求全了,新版中文不好搞呀,於是解除安裝後重新 install 一箇舊版的。

具體操作如下:

npm uninstall vue-i18n

npm uninstall vee-validate

npm install [email protected]

然後,我們開始對這個2.0版本的校驗器做一些配置,main.js 程式碼如下:

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUi from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import './assets/iconfont.css'
import VeeValidate from 'vee-validate'
import zh from 'vee-validate/dist/locale/zh_CN'
import initFetch from './fetch/initFetch'
import './fetch/urlConfig'

// 阻止 vue 在啟動時生成生產提示
Vue.config.productionTip = false

// 全域性使用element-ui
Vue.use(ElementUi)

/* 配置表單驗證 -- start */
// 配置中文化提示
const { Validator } = VeeValidate
Validator.addLocale(zh)
// 引入校驗
Vue.use(VeeValidate, {
    locale: 'zh_CN',
    fieldsBagName: 'errorBag',
    events: 'blur|input'
})
// 修改預設錯誤提示
const dictionary = {
    zh_CN: {
        messages: {
            required: (field) => `${field}不能為空`,
            between: (field, data) => `${field}必須在${data[0]}~${data[1]}之間`,
            confirmed: (field, data) => `${field}必須與${data[0]}相匹配`,
            max: (field, data) => `${field}最大長度不能超過${data[0]}`,
            min: (field, data) => `${field}最小長度不能小於${data[0]}`,
            digits: (field, data) => `${field}必須為數字,且長度必須等於${data[0]}`,
            min_value: (field, data) => `${field}數值不能小於${data[0]}`,
            max_value: (field, data) => `${field}數值不能大於${data[0]}`,
            not_in: (field, data) => `${field}不能為${data.join(',')}`
        }
    }
}
Validator.updateDictionary(dictionary)

// 字元長度校驗
Validator.extend('minMax', {
    messages: {
        zh_CN: (field, data) => `${field}長度必須在${data[0]}~${data[1]}之間`
    },
    validate: (value, data) => {
        return value.length >= parseInt(data[0]) && value.length <= parseInt(data[1])
    }
})

// 非中文字元校驗
Validator.extend('noCN', {
    messages: {
        zh_CN: field => field + '不能包含中文字元'
    },
    validate: value => {
        return !/[\u4e00-\u9fa5]/.test(value)
    }
})

// 不能包含空格校驗
Validator.extend('noSpace', {
    messages: {
        zh_CN: field => field + '不能包含空格'
    },
    validate: value => {
        return /^\S*$/.test(value)
    }
})

/* 配置表單驗證 -- end */
// 新增Vue原型屬性
Vue.prototype.$apis = initFetch(window.baseUrl, router)
/* eslint-disable no-new */
new Vue({
    el: '#app',
    router,
    components: { App },
    template: '<App/>'
})

相關推薦

問題記錄VeeValidate配置中文不同做法

舊版: "vee-validate": "^2.0.0-rc.13" 新版:"vee-validate": "^2.1.0-beta.7" 安裝最新版的VeeValidate之後對其進行中文化操作時, 之前老一套(2.0版)中文化的做法如下圖: 系統報錯提示 ad

模板並查集 路徑壓縮寫法

let con while class 模板 union 實踐 return ren class UnionFind{ private: int* parent; int* rank; int count; public: UnionFin

9.10 路由控制之反向解析--別名html和views方式實現

com 反向 技術分享 http mage login gin bsp 分享圖片 1. 在html裏反向解析 給路徑起別名,修改路徑時,不用每個地方都修改。 {% url ‘Log‘ %} : 就會去找別名為Log的URL,找到 "login/"後把"logi

統計建模:文化(第六部分)

謝絕任何不通知本人的轉載,尤其是抄襲。   Abstract  1. Introduction  2. ROAD MAP 3. Projects in consulting 4. Return to the university 5. The

統計建模:文化(第四、五部分)

謝絕任何不通知本人的轉載,尤其是抄襲。   Abstract  1. Introduction  2. ROAD MAP 3. Projects in consulting 4. Return to the university 5. The

統計建模:文化(第三部分)

謝絕任何不通知本人的轉載,尤其是抄襲。   Abstract  1. Introduction  2. ROAD MAP 3. Projects in consulting 4. Return to the university 5. The

SSM檔案下載的方式

檔案下載的兩種方式 第一種:檔名和大小都是固定的 第二種:檔案有很多,檔名不固定 今天專案中用到了一個檔案下載的方式,將一個app放在伺服器上,可以直接下載,剛開始想到了使用輸出檔案流的方式,思路有了,就直接上手寫了,參考網上的資料,整理出來了一

Python import語句的匯入方法

匯入指定模組中的指定函式: from datetime import datetime ** 僅訪問模組提供的功能,不向程式程式碼中匯入明確指定的函式 ** import time 要訪問以這種方式匯入的一個模組提供的函式,可以用點記法語法來指定 time.

模板連結串列的實現形式

摘自李煜東《演算法競賽進階指南》 //連結串列模板1 struct Node{ int value;//資料 Node *prev,*next;//指標 }; Node *head,*tail; void initialize()//建

tensorflow檔案佇列的建立和載入方式

方式1:記憶體載入 ①建立佇列: queue=tf.FIFOQueue(...) or queue=tf.RandomShuffleQueue(...) ②新增enqueue op: enqueue=tf.enqueue(xxx) or enqueue=tf.enqueue

VeeValidate配置中文方法

VeeValidate配置中文 使用VeeValidate時遇到的問題,下面是我找到的一些解決辦法: VeeValidate一直報錯早不到addlocale方法 解決辦法:1.解除安裝掉當前版本,重新安裝低版本如

win10 Oracle11g 64位配置PL/SQL Developer記錄

oci per 文件夾 sdn rod tns logs min 工具 在 http://download.csdn.net/download/wuqinfei_cs/7740373 下載PL/SQL Developer。 1. 解壓,在instantclient_11_

Python3不同的繼承方式The two different inheritance method when using python3

During the review of python classes, I found out that i missed the different situation of inheritance in python The first type and the second t

記錄2隨機迷宮生成演算法的cpp實現

1.DFS dfs(x,y) 標記(x,y 若(x,y)存在未標記的相鄰位置 從中隨機選擇一個(nx,ny) 聯通(x,y)和這個位置 dfs(nx,ny)

14git配置忽略檔案的3情形

【14】git配置忽略檔案的3種情形1:從未提交過的檔案可以使用.gitignore也就是新增之後從來沒有提交(commit)過的檔案,可以使用.gitignore忽略該檔案該檔案只能作用於未跟蹤的檔案(Untracked Files),也就是那些從來沒有被 git 記錄過的

模板題拓撲排序 道例題,思路:貪心策略及DFS

題目大意:給出一堆關係類似"A<B",有三種結果:1)在第k個關係讀入後出現環路,2)在第k個關係讀入後能夠確定排序,3)無法確定順序。 注意: 1、出現結果1、2之後之後的s要讀但是操作略過 2、要判斷重複的邊(入度不能重複加) 3、要先判斷環路再判斷是否有多

記錄 Android 雙卡手機獲取個IMEI等

1、前言 專案中遇到上傳手機imei的問題。如果手機是雙卡,目前只能獲取預設的imei TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_

REACT NATIVE 系列教程之一觸控事件的形式與四TOUCHABLE元件詳解

本文是RN(React Native)系列教程第一篇,當然也要給自己的群做個廣告:  React Native @Himi :126100395  剛建立的群,歡迎一起學習、討論、進步。本文主要講解兩點:1.   PanResponder:觸控事件,用以獲取使用者手指所在螢幕的座標(x,y)或觸發、或滑動、或

mybatis基礎mybatis開發dao方法

mybatis是一個支援普通SQL查詢,儲存過程和高階對映的優秀的持久層的框架,是apache下的頂級專案。mybatis消除了幾乎所有的JDBC程式碼和引數的手工設定以及對結果集的檢索封裝。myba

JavaEE讀取配置檔案路徑的幾方式

讀取配置檔案的各種方式 1.類載入器讀取: 只能讀取classes或者類路徑中的任意資源,但是不適合讀取特別大的資源。 ①獲取類載入器 ClassLoader cl = 類名.class.getClassLoader(); ②呼叫類載入器物件的方法: