import Vue from "vue";
import VeeValidate, { Validator } from "vee-validate";
// import zh_CN from "vee-validate/dist/locale/zh_CN";
// Validator.localize("zh_CN", zh_CN);
import zh_CN from 'vee-validate/dist/locale/zh_CN'
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n = new VueI18n({
  locale: 'zh_CN'
})

Vue.use(VeeValidate, {
  i18n,
  i18nRootKey: 'validation',
  events: 'change',
  dictionary: {
    zh_CN
  }
})

const dictionary = {
  zh_CN: {
    messages: {
      required: (field) =>  field + '不能为空'
    }
  }
}

Validator.localize(dictionary);
//     // your messages.
//     after: (field, [target]) => `${field}必须在${target}之后`,
//     alpha_dash: () => `${field}能够包含字母数字字符、破折号和下划线`,
//     alpha_num: () => `${field}只能包含字母数字字符`,
//     alpha_spaces: () => `${field}只能包含字母字符和空格`,
//     alpha: () => `${field}只能包含字母字符`,
//     before: (field, [target]) => `${field}必须在${target}之前`,
//     between: (field, [min, max]) => `${field}必须在${min}与${max}之间`,
//     confirmed: (field, [confirmedField]) =>
//       `${field}不能和${confirmedField}匹配`,
//     credit_card: () => `${field}格式错误`,
//     date_between: (field, [min, max]) => `${field}必须在${min}和${max}之间`,
//     date_format: (field, [format]) => `${field}必须符合${format}格式`,
//     decimal: (field, [decimals = '*'] = []) =>
//       `${field}必须是数字，且能够保留${
//         decimals === '*' ? '' : decimals}位小数`,
//     digits: (field, [length]) =>
//       `${field}必须是数字，且精确到${length}位数`,
//     dimensions: (field, [width, height]) =>
//       `${field}必须在${width}像素与${height}像素之间`,
//     email: () => `${field}不是一个有效的邮箱`,
//     ext: () => `${field}不是一个有效的文件`,
//     image: () => `${field}不是一张有效的图片`,
//     included: () => `${field}不是一个有效值`,
//     integer: () => `${field}必须是整数`,
//     ip: () => `${field}不是一个有效的地址`,
//     length: (field, [length, max]) => {
//       if (max) {
//         return `${field}长度必须在${length}到${max}之间`
//       }
//       return `${field}长度必须为${length}`
//     },
//     max: (field, [length]) => `${field}不能超过${length}个字符`,
//     max_value: (field, [max]) => `${field}必须小于或等于${max}`,
//     mimes: (field) => `${field}不是一个有效的文件类型`,
//     min: (field, [length]) => `${field}必须至少有${length}个字符`,
//     min_value: (field, [min]) => `${field}必须大于或等于${min}`,
//     excluded: () => `${field}不是一个有效值`,
//     numeric: () => `${field}只能包含数字字符`,
//     regex: () => `${field}格式无效`,
//     required: () => `请输入${field}`,
//     url: () => field + '不是一个有效的url'

// 手机号码验证
Validator.extend("phone", {
  getMessage: () => `请输入正确的手机号码`,
  validate: value =>
    value.length === 11 &&
    /^1[0123456789]\d{9}$/.test(value)
    // /^(((13[0-9]{1})|(14[57]{1})|(15[012356789]{1})|(17[03678]{1})|(18[0-9]{1})|(19[89]{1})|(16[6]{1}))+\d{8})$/.test(
    //   value
    // )
});

// 密码验证
Validator.extend("isPassword", {
  getMessage: () => `密码6-16位,不包含特殊字符,可以是数字或者字母`,
  validate: value =>
    value == value && value.length > 5
});
