diff --git a/lnbits/core/templates/core/wallet.html b/lnbits/core/templates/core/wallet.html
index ced8c8fc0..4375f0fbe 100644
--- a/lnbits/core/templates/core/wallet.html
+++ b/lnbits/core/templates/core/wallet.html
@@ -330,6 +330,7 @@
:min="receive.minMax[0]"
:max="receive.minMax[1]"
:readonly="receive.lnurl && receive.lnurl.fixed"
+ inputmode="numeric"
>
@@ -355,6 +356,8 @@
:min="receive.minMax[0]"
:max="receive.minMax[1]"
:readonly="receive.lnurl && receive.lnurl.fixed"
+ error-message="Not a valid amount"
+ :error="!isValid"
>
diff --git a/lnbits/static/js/wallet.js b/lnbits/static/js/wallet.js
index 08994364b..57553eed8 100644
--- a/lnbits/static/js/wallet.js
+++ b/lnbits/static/js/wallet.js
@@ -97,6 +97,17 @@ window.WalletPageLogic = {
.formatCurrency(0, this.receive.unit)
.replace(/[\d.\s]/g, '')
.trim()
+ },
+ isValid() {
+ if (!this.receive.data.amount) return true
+ return (
+ this.receive.data.amount >= this.receive.minMax[0] &&
+ this.receive.data.amount <= this.receive.minMax[1] &&
+ !isNaN(this.receive.data.amount) &&
+ this.receive.data.amount > 0 &&
+ !isNaN(parseFloat(this.receive.data.amount)) &&
+ /^\d*\.?\d*$/.test(this.receive.data.amount)
+ )
}
},
methods: {