Add basic regex validation for addresses to frontend.
This commit is contained in:
parent
7620d7f577
commit
c7e18d19b0
|
@ -1,6 +1,6 @@
|
|||
import { ProposalDraft, CreateMilestone, STATUS } from 'types';
|
||||
import { User } from 'types';
|
||||
import { getAmountError } from 'utils/validators';
|
||||
import { getAmountError, isValidAddress } from 'utils/validators';
|
||||
import { MILESTONE_STATE, Proposal } from 'types';
|
||||
import { Zat, toZat } from 'utils/units';
|
||||
import { ONE_DAY } from 'utils/time';
|
||||
|
@ -81,7 +81,7 @@ export function getCreateErrors(
|
|||
}
|
||||
|
||||
// Payout address
|
||||
if (!payoutAddress) {
|
||||
if (payoutAddress && !isValidAddress(payoutAddress)) {
|
||||
errors.payoutAddress = 'That doesn’t look like a valid address';
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,19 @@ export function isValidEmail(email: string): boolean {
|
|||
return /\S+@\S+\.\S+/.test(email);
|
||||
}
|
||||
|
||||
// Uses simple regex to validate addresses, doesn't check checksum or network
|
||||
export function isValidAddress(address: string): boolean {
|
||||
console.warn('TODO - implement utils.isValidAddress', address);
|
||||
return true;
|
||||
// T address
|
||||
if (/^t[a-zA-Z0-9]{34}$/.test(address)) {
|
||||
return true;
|
||||
}
|
||||
// Sprout address
|
||||
if (/^z?[a-zA-Z0-9]{94}$/.test(address)) {
|
||||
return true;
|
||||
}
|
||||
// Sapling address
|
||||
if (/^z(s)?(reg)?(testsapling)?[a-zA-Z0-9]{76}$/.test(address)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue