/** * Validate v1.0.0 通用验证 * @description 项目中用到的表单验证规则 */ import test from '@/sheep/helper/test.js'; import { t } from '@/locale' // 用户名 export const username = { rules: [ { required: true, errorMessage: t('rules.enter_username'), }, { validateFunction: function (rule, value, data, callback) { if (!value) { callback(t('rules.username_required')); } return true; }, }, ], }; // 手机号 export const mobile = { rules: [ { required: true, errorMessage: t('rules.enter_phone'), }, { validateFunction: function (rule, value, data, callback) { if (!test.mobile(value)) { callback(t('rules.incorrect_phone_format')); } return true; }, }, ], }; // 密码 export const password = { rules: [ { required: true, errorMessage: t('rules.enter_password'), }, { validateFunction: function (rule, value, data, callback) { if (!/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]+\S{5,12}$/.test(value)) { callback(t('rules.password_requirements')); } return true; }, }, ], }; // 支付密码 export const payPassword = { rules: [ { required: true, errorMessage: t('rules.请输入支付密码'), }, { pattern: /^\d{6}$/, errorMessage: t('rules.请输入6位数字'), } ], }; // 短信验证码 export const code = { rules: [ { required: true, errorMessage:t('rules.enter_verification_code'), }, ], }; // 真实姓名 export const realName = { rules: [ { required: true, errorMessage: t('rules.enter_name'), }, { validateFunction: function (rule, value, data, callback) { if (!test.chinese(value)) { callback(t('rules.enter_chinese_characters')); } return true; }, }, ], }; export const taxName = { rules: [ { required: true, errorMessage: t('rules.enter_invoice_title'), }, { validateFunction: function (rule, value, data, callback) { if (!test.chinese(value)) { callback(t('rules.enter_chinese_characters')); } return true; }, }, ], }; // 税号 export const taxNo = { rules: [ { required: true, errorMessage: t('rules.enter_tax_number'), }, ], }; // 开户行 export const bankName = { rules: [ { required: true, errorMessage: t('rules.enter_bank'), }, { validateFunction: function (rule, value, data, callback) { if (!test.chinese(value)) { callback(t('rules.enter_chinese_characters')); } return true; }, }, ], }; // 银行卡号 export const bankCode = { rules: [ { required: true, errorMessage:t('rules.enter_bank_card_number'), }, { validateFunction: function (rule, value, data, callback) { if (!/^\d+$/.test(value) ) { callback(t('rules.correct_bank_card_number')); } return true; }, }, ], }; // 支付宝账号 export const alipayAccount = { rules: [ { required: true, errorMessage: t('rules.enter_alipay_account'), }, { validateFunction: function (rule, value, data, callback) { let isEmail = test.email(value); let isMobile = test.mobile(value); if (!isEmail && !isMobile) { callback(t('rules.correct_account_number')); } return true; }, }, ], }; // 支付宝账号 export const email = { rules: [ { required: true, errorMessage: t('rules.enter_email'), }, { validateFunction: function (rule, value, data, callback) { let isEmail = test.email(value); if (!isEmail) { callback(t('rules.correct_email')); } return true; }, }, ], }; export default { mobile, alipayAccount, bankCode, bankName, realName, password, code, taxNo, taxName, email };