add validation to lnurl address in profile edit

This commit is contained in:
hzrd149 2023-06-28 08:09:18 +00:00
parent 5d19861929
commit 9936c25f8a
2 changed files with 13 additions and 2 deletions
.changeset
src/views/profile

@ -0,0 +1,5 @@
---
"nostrudel": patch
---
Add validation check to LNURL address in profile edit view

@ -25,6 +25,7 @@ import dnsIdentityService from "../../services/dns-identity";
import signingService from "../../services/signing";
import userMetadataService from "../../services/user-metadata";
import { DraftNostrEvent } from "../../types/nostr-event";
import lnurlMetadataService from "../../services/lnurl-metadata";
const isEmail =
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
@ -160,10 +161,15 @@ const MetadataForm = ({ defaultValues, onSubmit }: MetadataFormProps) => {
autoComplete="off"
isDisabled={isSubmitting}
{...register("lightningAddress", {
validate: (v) => {
if (v && !isLNURL(v) && !isLightningAddress(v)) {
validate: async (v) => {
if (!v) return true;
if (!isLNURL(v) && !isLightningAddress(v)) {
return "Must be lightning address or LNURL";
}
const metadata = await lnurlMetadataService.requestMetadata(v);
if (!metadata) {
return "Incorrect or broken LNURL address";
}
return true;
},
})}