Skip to content

Fix URL validation in SocialsForm#118

Draft
Discusser wants to merge 1 commit into
s1lvax:devfrom
Discusser:bugfix/social-form-schema-fix
Draft

Fix URL validation in SocialsForm#118
Discusser wants to merge 1 commit into
s1lvax:devfrom
Discusser:bugfix/social-form-schema-fix

Conversation

@Discusser
Copy link
Copy Markdown
Contributor

Previously, the URL in socialsSchema was validated using a regex pattern. This pattern wasn't exhaustive, as it didn't take into account - or _ for example. I have replaced this with zod's url() method, which uses the URL object under the hood (see https://github.com/colinhacks/zod/blob/1f4f0dacf313a2dba45563d78171e6f016096925/src/types.ts#L820). This implementation is much more reliable and less error prone.

Furthermore, an issue arises when checking the domain names for URLs. For example, LinkedIn has linkedin.com as its only domain at the moment, which, with the current implementation, rejects www.linkedin.com, but that is trivial to solve. The main issue is that most websites have many domain names that lead to the same page. For example, a LinkedIn link can have www.linkedin.fr or fr.linkedin.com as its hostname. It's therefore almost impossible to check if a URL is valid for a specific website, since there are too many hostnames to keep track of.
For now, I have simply removed the hostname validation, but I will keep this PR as a draft until we figure out a better solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant