From bc4323b128cd4061b09e64e73f8d25bc591d28d6 Mon Sep 17 00:00:00 2001 From: neverland Date: Thu, 8 Aug 2019 19:08:46 +0800 Subject: [PATCH] [new feature] AddressEdit: add postal-validator prop (#4067) --- src/address-edit/README.md | 3 ++- src/address-edit/README.zh-CN.md | 1 + src/address-edit/index.js | 10 +++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/address-edit/README.md b/src/address-edit/README.md index 36bf3b9c0..a2e891702 100644 --- a/src/address-edit/README.md +++ b/src/address-edit/README.md @@ -76,7 +76,8 @@ export default { | is-saving | Whether to show save button loading status | `boolean` | `false` | | is-deleting | Whether to show delete button loading status | `boolean` | `false` | | tel-validator | The method to validate tel | `(tel: string) => boolean` | - | -| validator | Custom validator | `(key, value) => string` | - | 1.3.9 | +| postal-validator | The method to validate postal | `(tel: string) => boolean` | - | +| validator | Custom validator | `(key, value) => string` | - | ### Events diff --git a/src/address-edit/README.zh-CN.md b/src/address-edit/README.zh-CN.md index 94c701cf9..c05130ab6 100644 --- a/src/address-edit/README.zh-CN.md +++ b/src/address-edit/README.zh-CN.md @@ -75,6 +75,7 @@ export default { | is-saving | 是否显示保存按钮加载动画 | `boolean` | `false` | - | | is-deleting | 是否显示删除按钮加载动画 | `boolean` | `false` | - | | tel-validator | 手机号格式校验函数 | `string => boolean` | - | - | +| postal-validator | 邮政编码格式校验函数 | `string => boolean` | - | 2.1.2 | | validator | 自定义校验函数 | `(key, value) => string` | - | - | ### Events diff --git a/src/address-edit/index.js b/src/address-edit/index.js index 13461f96e..746dfe4a7 100644 --- a/src/address-edit/index.js +++ b/src/address-edit/index.js @@ -24,6 +24,10 @@ const defaultData = { isDefault: false }; +function isPostal(value) { + return /^\d{6}$/.test(value); +} + export default createComponent({ props: { areaList: Object, @@ -60,6 +64,10 @@ export default createComponent({ telValidator: { type: Function, default: isMobile + }, + postalValidator: { + type: Function, + default: isPostal } }, @@ -183,7 +191,7 @@ export default createComponent({ case 'addressDetail': return value ? '' : t('addressEmpty'); case 'postalCode': - return value && !/^\d{6}$/.test(value) ? t('postalEmpty') : ''; + return value && !this.postalValidator(value) ? t('postalEmpty') : ''; } },