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',