mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-01 13:47:06 +01:00
Add frontend validation to ensure that ether inputs are valid.
This commit is contained in:
parent
92eb16fc11
commit
e682fb05fc
@ -247,16 +247,26 @@ SendTransactionScreen.prototype.onSubmit = function () {
|
|||||||
const recipient = state.recipient || document.querySelector('input[name="address"]').value.replace(/^[.\s]+|[.\s]+$/g, '')
|
const recipient = state.recipient || document.querySelector('input[name="address"]').value.replace(/^[.\s]+|[.\s]+$/g, '')
|
||||||
const nickname = state.nickname || ' '
|
const nickname = state.nickname || ' '
|
||||||
const input = document.querySelector('input[name="amount"]').value
|
const input = document.querySelector('input[name="amount"]').value
|
||||||
|
const parts = input.split('')
|
||||||
|
|
||||||
if (isNaN(input)) {
|
let message
|
||||||
|
|
||||||
|
if (isNaN(input) || input === '') {
|
||||||
message = 'Invalid ether value.'
|
message = 'Invalid ether value.'
|
||||||
return this.props.dispatch(actions.displayWarning(message))
|
return this.props.dispatch(actions.displayWarning(message))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (parts[1]) {
|
||||||
|
var decimal = parts[1]
|
||||||
|
if (decimal.length > 18) {
|
||||||
|
message = 'Ether amount is too precise.'
|
||||||
|
return this.props.dispatch(actions.displayWarning(message))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const value = util.normalizeEthStringToWei(input)
|
const value = util.normalizeEthStringToWei(input)
|
||||||
const txData = document.querySelector('input[name="txData"]').value
|
const txData = document.querySelector('input[name="txData"]').value
|
||||||
const balance = this.props.balance
|
const balance = this.props.balance
|
||||||
let message
|
|
||||||
|
|
||||||
if (value.gt(balance)) {
|
if (value.gt(balance)) {
|
||||||
message = 'Insufficient funds.'
|
message = 'Insufficient funds.'
|
||||||
|
Loading…
Reference in New Issue
Block a user