From 30c1284a41edb60bcd853ebac36a3e7750b01e45 Mon Sep 17 00:00:00 2001 From: Orange Date: Thu, 1 Apr 2021 19:33:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=8C=E5=96=84=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E9=82=AE=E7=AE=B1=E5=9C=B0=E5=9D=80=E6=A0=A1=E9=AA=8C=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes https://github.com/jumpserver/trello/issues/933 --- src/components/DataForm/rules/index.js | 9 ++++++++- src/i18n/langs/cn.json | 1 + src/i18n/langs/en.json | 1 + src/views/settings/Email.vue | 20 ++++++++++++++++++++ src/views/users/User/UserCreateUpdate.vue | 6 ++++++ 5 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/components/DataForm/rules/index.js b/src/components/DataForm/rules/index.js index 83b98e649..57fc7a3fe 100644 --- a/src/components/DataForm/rules/index.js +++ b/src/components/DataForm/rules/index.js @@ -8,7 +8,14 @@ export const RequiredChange = { required: true, message: i18n.t('common.fieldRequiredError'), trigger: 'change' } +export const EmailCheck = { + type: 'email', + message: i18n.t('common.InputEmailAddress'), + trigger: ['blur', 'change'] +} + export default { Required, - RequiredChange + RequiredChange, + EmailCheck } diff --git a/src/i18n/langs/cn.json b/src/i18n/langs/cn.json index d4b4dc8ce..1f9c93fbf 100644 --- a/src/i18n/langs/cn.json +++ b/src/i18n/langs/cn.json @@ -320,6 +320,7 @@ "fieldRequiredError": "这个字段是必填项", "getErrorMsg": "获取失败", "MFAErrorMsg": "MFA错误,请检查", + "InputEmailAddress": "请输入正确的邮箱地址", "imExport": { "ExportAll": "导出所有", "ExportOnlyFiltered": "仅导出搜索结果", diff --git a/src/i18n/langs/en.json b/src/i18n/langs/en.json index 7a2d51f96..e05d0f644 100644 --- a/src/i18n/langs/en.json +++ b/src/i18n/langs/en.json @@ -277,6 +277,7 @@ "Reset": "Reset", "Search": "Search", "MFAErrorMsg": "MFA Error,please check", + "InputEmailAddress": "Please enter your email address", "Select": "Select", "SelectFile": "Select file", "Show": "Show", diff --git a/src/views/settings/Email.vue b/src/views/settings/Email.vue index 05d5b5fc1..dab192527 100644 --- a/src/views/settings/Email.vue +++ b/src/views/settings/Email.vue @@ -4,6 +4,7 @@ :fields="fields" :url="url" :get-method="getMethod" + :fields-meta="fieldsMeta" :more-buttons="moreButtons" :has-detail-in-msg="false" /> @@ -14,6 +15,7 @@ import GenericCreateUpdateForm from '@/layout/components/GenericCreateUpdateForm' import { testEmailSetting } from '@/api/settings' import { IBox } from '@/components' +import rules from '@/components/DataForm/rules' export default { name: 'Email', @@ -51,6 +53,24 @@ export default { ] ] ], + fieldsMeta: { + EMAIL_HOST_USER: { + rules: [ + rules.EmailCheck, + rules.Required + ] + }, + EMAIL_FROM: { + rules: [ + rules.EmailCheck + ] + }, + EMAIL_RECIPIENT: { + rules: [ + rules.EmailCheck + ] + } + }, url: '/api/v1/settings/setting/?category=email', moreButtons: [ { diff --git a/src/views/users/User/UserCreateUpdate.vue b/src/views/users/User/UserCreateUpdate.vue index de95228ff..e171d3411 100644 --- a/src/views/users/User/UserCreateUpdate.vue +++ b/src/views/users/User/UserCreateUpdate.vue @@ -42,6 +42,12 @@ export default { return this.$route.params.id } }, + email: { + rules: [ + rules.EmailCheck, + rules.Required + ] + }, update_password: { label: this.$t('users.UpdatePassword'), type: 'checkbox',