vueフォーム検証vee-validate
8897 ワード
次に、vueのフォーム検証プラグインについて説明します.
一、据付
二、配置
vee-validateのデフォルトは英語のヒントの検証であり、中国語に構成する必要があります.次の方法を使用できます.
これで中国語のヒントの構成が完了しました.
三、簡単に使う
次のコードは、マイクロ信号端末uiフレームワークvuxに基づいている.
v-validate="required"は必須チェックを表し、name="携帯番号"name属性は必須であり、vee-validateがチェックするフィールドが携帯電話番号であることを示すとともに、エラーメッセージにも使用される.v-show=”errors2.has(‘携帯番号’)&&submitted"submittedは、コミット時にエラー内容が表示されるなど、検証のために設定されたフラグです.errors2.first(‘携帯電話番号’)は、携帯電話番号チェックの最初のエラー内容を表示する.
四、内部検査規則
具体的には公式サイトvee-validateを参照
五、カスタム検査規則
組み込みルールは、私たちが使用するのに十分ではありません.vee-validateは、次の例を参照して、検証ルールを拡張するための非常に簡単な方法を提供します.
このセクションのvalidateを追加するだけです.jsでいいです.そして私たちのmainで.jsではこのvalidateをjsが導入されると、私たちの検証を開始することができます.
一、据付
npm install vee-validate --save-dev
二、配置
vee-validateのデフォルトは英語のヒントの検証であり、中国語に構成する必要があります.次の方法を使用できます.
//validate.js
import Vue from 'vue';
import VeeValidate, {
Validator
} from 'vee-validate';
import zh_CN from 'vee-validate/dist/locale/zh_CN';//
const dictionary = {
zh_CN
};
//
const config = {
errorBagName: 'errors2', // change if property conflicts.
fieldsBagName: 'fields',
delay: 0,
locale: 'zh_CN',
dictionary: null,
strict: true,
enableAutoClasses: false,
classNames: {
touched: 'touched', // the control has been blurred
untouched: 'untouched', // the control hasn't been blurred
valid: 'valid', // model is valid
invalid: 'invalid', // model is invalid
pristine: 'pristine', // control has not been interacted with
dirty: 'dirty' // control has been interacted with
},
events: 'input|blur',
inject: true
};
Validator.updateDictionary(dictionary);//
Vue.use(VeeValidate, config);
これで中国語のヒントの構成が完了しました.
三、簡単に使う
次のコードは、マイクロ信号端末uiフレームワークvuxに基づいている.
<x-input label-width='4rem' placeholder=" " v-validate="'required'" name=' ' v-model="mobile">
<i slot="label" class="iconfont icon-people">i>
x-input>
<span v-show="errors2.has(' ') && submitted" class="errors-tip is-danger">{{ errors2.first(' ') }}span>
v-validate="required"は必須チェックを表し、name="携帯番号"name属性は必須であり、vee-validateがチェックするフィールドが携帯電話番号であることを示すとともに、エラーメッセージにも使用される.v-show=”errors2.has(‘携帯番号’)&&submitted"submittedは、コミット時にエラー内容が表示されるなど、検証のために設定されたフラグです.errors2.first(‘携帯電話番号’)は、携帯電話番号チェックの最初のエラー内容を表示する.
四、内部検査規則
after{target} - target , (DD/MM/YYYY)
alpha -
alpha_dash - 、 、 、
alpha_num -
before:{target} - after
between:{min},{max} - min max
confirmed:{target} - target
date_between:{min,max} - min max
date_format:{format} - format
decimal:{decimals?} - , decimals
digits:{length} - length
dimensions:{width},{height} -
email -
ext:[extensions] -
image -
in:[list] - list
ip - ipv4
max:{length} - length
mimes:[list] -
min - max
mot_in - in
numeric -
regex:{pattern} - pattern
required -
size:{kb} -
url:{domain?} - ( )url
具体的には公式サイトvee-validateを参照
五、カスタム検査規則
組み込みルールは、私たちが使用するのに十分ではありません.vee-validateは、次の例を参照して、検証ルールを拡張するための非常に簡単な方法を提供します.
//
const validateRules = {
mobile: {
messages: {//
zh_CN: field => ' ',
},
validate: value => {//
return value.length == 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/.test(value)
}
},
idCard: {
messages: {
zh_CN: field => ' ',
},
validate: value => {
var reg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
//18
var regs =
/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
return reg.test(value) || regs.test(value);
}
},
passWord: {
messages: {
zh_CN: field => ' 8-16 ',
},
validate: value => {
let reg1 = /\d+/;
let reg2 = /[a-zA-Z]/;
return value.length >= 8 && value.length <= 16 &®1.test(value) && reg2.test(value);
}
}
}
//
Object.keys(validateRules).forEach((key) => {
Validator.extend(key, validateRules[key]);
});
このセクションのvalidateを追加するだけです.jsでいいです.そして私たちのmainで.jsではこのvalidateをjsが導入されると、私たちの検証を開始することができます.