diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json
index 97b751019..be4574e6d 100644
--- a/frontend/src/locales/de.json
+++ b/frontend/src/locales/de.json
@@ -46,7 +46,11 @@
"thx":"Danke",
"sorry":"Entschuldigung",
"send_transaction_success":"Deine Transaktion wurde erfolgreich ausgeführt",
- "send_transaction_error":"Leider konnte die Transaktion nicht ausgeführt werden!"
+ "send_transaction_error":"Leider konnte die Transaktion nicht ausgeführt werden!",
+ "validation": {
+ "double": "Das Feld {field} muss eine Dezimalzahl mit zwei Nachkommastellen sein",
+ "is-not": "Du kannst Dir selbst keine Gradidos überweisen"
+ }
},
"error": {
"error":"Fehler"
diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json
index f3a4a1dfb..fc2e15cc7 100644
--- a/frontend/src/locales/en.json
+++ b/frontend/src/locales/en.json
@@ -46,7 +46,11 @@
"thx":"Thank you",
"sorry":"Sorry",
"send_transaction_success":"Your transaction was successfully completed",
- "send_transaction_error":"Unfortunately, the transaction could not be executed!"
+ "send_transaction_error":"Unfortunately, the transaction could not be executed!",
+ "validation": {
+ "double": "The {field} field must be a decimal with two digits",
+ "is-not": "You cannot send Gradidos to yourself"
+ }
},
"error": {
"error":"Error"
diff --git a/frontend/src/main.js b/frontend/src/main.js
index bd57c6e57..5584ae508 100755
--- a/frontend/src/main.js
+++ b/frontend/src/main.js
@@ -2,6 +2,9 @@ import Vue from 'vue'
import DashboardPlugin from './plugins/dashboard-plugin'
import App from './App.vue'
import i18n from './i18n.js'
+import { configure, extend } from 'vee-validate'
+// eslint-disable-next-line camelcase
+import { required, email, min, between, double, is_not } from 'vee-validate/dist/rules'
// store
import { store } from './store/store'
@@ -21,6 +24,45 @@ router.beforeEach((to, from, next) => {
}
})
+configure({
+ defaultMessage: (field, values) => {
+ values._field_ = i18n.t(`fields.${field}`)
+ return i18n.t(`validations.messages.${values._rule_}`, values)
+ },
+})
+
+extend('email', {
+ ...email,
+ message: (_, values) => i18n.t('validations.messages.email', values),
+})
+
+extend('required', {
+ ...required,
+ message: (_, values) => i18n.t('validations.messages.required', values),
+})
+
+extend('min', {
+ ...min,
+ message: (_, values) => i18n.t('validations.messages.min', values),
+})
+
+extend('double', {
+ ...double,
+ message: (_, values) => i18n.t('form.validation.double', values),
+})
+
+extend('between', {
+ ...between,
+ message: (_, values) => i18n.t('validations.messages.between', values),
+})
+
+// eslint-disable-next-line camelcase
+extend('is_not', {
+ // eslint-disable-next-line camelcase
+ ...is_not,
+ message: (_, values) => i18n.t('form.validation.is-not', values),
+})
+
/* eslint-disable no-new */
new Vue({
el: '#app',
diff --git a/frontend/src/vee-validate.js b/frontend/src/vee-validate.js
deleted file mode 100644
index 42e4c9c94..000000000
--- a/frontend/src/vee-validate.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { configure, extend } from 'vee-validate'
-import { required, email, min } from 'vee-validate/dist/rules'
-import i18n from './i18n'
-
-configure({
- defaultMessage: (field, values) => {
- values._field_ = i18n.t(`fields.${field}`)
- return i18n.t(`validations.messages.${values._rule_}`, values)
- },
-})
-
-extend('email', {
- ...email,
- message: (_, values) => i18n.t('validations.messages.email', values),
-})
-
-extend('required', {
- ...required,
- message: (_, values) => i18n.t('validations.messages.required', values),
-})
-
-extend('min', {
- ...min,
- message: (_, values) => i18n.t('validations.messages.min', values),
-})
diff --git a/frontend/src/views/Pages/AccountOverview/GddSend.spec.js b/frontend/src/views/Pages/AccountOverview/GddSend.spec.js
index 3cd0afad0..d7130aeca 100644
--- a/frontend/src/views/Pages/AccountOverview/GddSend.spec.js
+++ b/frontend/src/views/Pages/AccountOverview/GddSend.spec.js
@@ -24,6 +24,10 @@ describe('GddSend', () => {
$moment: jest.fn((m) => ({
format: () => m,
})),
+ $i18n: {
+ locale: jest.fn(() => 'en'),
+ },
+ $n: jest.fn((n) => String(n)),
}
const Wrapper = () => {
diff --git a/frontend/src/views/Pages/AccountOverview/GddSend.vue b/frontend/src/views/Pages/AccountOverview/GddSend.vue
index 9053d0ea4..8d5b93217 100644
--- a/frontend/src/views/Pages/AccountOverview/GddSend.vue
+++ b/frontend/src/views/Pages/AccountOverview/GddSend.vue
@@ -55,69 +55,92 @@
-->