diff --git a/packages/locale/lang/en-US.js b/packages/locale/lang/en-US.js index f989b399d..36dc06db4 100644 --- a/packages/locale/lang/en-US.js +++ b/packages/locale/lang/en-US.js @@ -81,6 +81,7 @@ export default { fill: 'Please fill', upload: 'Please upload', number: 'Please fill in the correct number format message', + mobile: 'The length of mobile number must be 6 to 12', email: 'Please fill in the correct email message', id_no: 'Please fill in the correct ID number message', onePic: 'only one picture', diff --git a/packages/locale/lang/zh-CN.js b/packages/locale/lang/zh-CN.js index a8d13db98..978dc9b58 100644 --- a/packages/locale/lang/zh-CN.js +++ b/packages/locale/lang/zh-CN.js @@ -81,6 +81,7 @@ export default { fill: '请填写', upload: '请上传', number: '请填写正确的数字格式留言', + mobile: '手机号长度为6-20位数字', email: '请填写正确的邮箱', id_no: '请填写正确的身份证号码', onePic: '仅限一张', diff --git a/packages/locale/lang/zh-HK.js b/packages/locale/lang/zh-HK.js index 20282f60d..b00953d13 100644 --- a/packages/locale/lang/zh-HK.js +++ b/packages/locale/lang/zh-HK.js @@ -81,6 +81,7 @@ export default { fill: '請填寫', upload: '請上傳', number: '請填寫正確的數字格式留言', + mobile: '手機號長度為6-20位數字', email: '請填寫正確的郵箱', id_no: '請填寫正確的身份證號碼', onePic: '僅限一張', diff --git a/packages/sku/Sku.vue b/packages/sku/Sku.vue index fb290e7e4..0da14730e 100644 --- a/packages/sku/Sku.vue +++ b/packages/sku/Sku.vue @@ -180,7 +180,8 @@ export default create({ customStepperConfig: { type: Object, default: () => ({}) - } + }, + customSkuValidator: Function }, data() { @@ -336,6 +337,12 @@ export default create({ return this.validateSkuMessages(); } + // 自定义sku校验 + if (this.customSkuValidator) { + const err = this.customSkuValidator(this); + if (err) return err; + } + return this.$t('spec'); }, diff --git a/packages/sku/components/SkuMessages.vue b/packages/sku/components/SkuMessages.vue index ba517cc52..aa49f02fa 100644 --- a/packages/sku/components/SkuMessages.vue +++ b/packages/sku/components/SkuMessages.vue @@ -136,6 +136,9 @@ export default create({ if (message.type === 'tel' && !validateNumber(value)) { return this.$t('number'); } + if (message.type === 'mobile' && !/^\d{6,20}$/.test(value)) { + return this.$t('mobile'); + } if (message.type === 'email' && !validateEmail(value)) { return this.$t('email'); } diff --git a/packages/sku/components/SkuStepper.vue b/packages/sku/components/SkuStepper.vue index a6b3a8fac..5ba5bd642 100644 --- a/packages/sku/components/SkuStepper.vue +++ b/packages/sku/components/SkuStepper.vue @@ -12,7 +12,7 @@ @change="onChange" /> -