diff --git a/frontend/src/components/Modal/RiderModalInfo.tsx b/frontend/src/components/Modal/RiderModalInfo.tsx index 6d149fcab..0898e8e01 100644 --- a/frontend/src/components/Modal/RiderModalInfo.tsx +++ b/frontend/src/components/Modal/RiderModalInfo.tsx @@ -165,7 +165,7 @@ const RiderModalInfo = ({ aria-required="true" ref={register({ required: true, - pattern: /^[a-zA-Z0-9\s,.'-]{3,}$/, + pattern: /^(?!\s*$).+/, })} /> {errors.address && ( diff --git a/server/src/util/index.ts b/server/src/util/index.ts index 2e18947f6..0d72af01e 100644 --- a/server/src/util/index.ts +++ b/server/src/util/index.ts @@ -10,6 +10,10 @@ export function createKeys(property: string, values: string[]) { return values.map((v) => ({ [property]: v })); } +// isAddress implementation does not accept "300 Day Hall" as a valid address. +// Instead, a rider/admin would need to input "144 Feeney Way." A future PR +// could be to hard-code address equivalencies (like Day Hall = 144 Feeney Way or +// Martha Van Rensselaer Hall = 116 Reservoir Ave) export function isAddress(address: string) { let parsedAddr; try { @@ -41,7 +45,11 @@ export function formatAddress(address: string): string { // type declaration in addresser is incorrect parsedAddr = parseAddress(address) as any; } catch { - parsedAddr = parseAddress(`${address}, Ithaca, NY 14850`) as any; + try { + parsedAddr = parseAddress(`${address}, Ithaca, NY 14850`) as any; + } catch { + return address; + } } return parsedAddr.formattedAddress; }