Skip to content

Implement domain validation for client-side input ✅ #19

Open

Description

@JamieSlome

Reproduce the issue ⚡️

Enter the value "ghost" into the input box. On form submission the request is subsequently processed and fails as this is not a legitimate domain.

Photographic evidence 📷

Screenshot 2024-02-11 at 21 22 48

Suggested improvements 🔨

Implement client-side logic to validate the input and prevent form submission if the input does not take the form of a legitimate domain. This is most likely to take the form of a Regular Expression that validates the input and enables form submission once satisfied.

Subsequently, this will leave the error message for domain forms that most likely aren't actually live or legitimate domain requests:

Screenshot 2024-02-11 at 21 27 11

Activity

  1. Sal-ter commented on Feb 12, 2024

    @Sal-ter

    Happy to take this on!

  2. JamieSlome commented on Feb 12, 2024

    @JamieSlome
    CollaboratorAuthor

    @Sal-ter - awesome 👍

  3. moshetanzer commented on Feb 13, 2024

    @moshetanzer
    Contributor

    Hi,

    All that is needed is type=url. But think @danielroe wanted to do it in on ss and show domain not found error.

    @JamieSlome don't think this is a bug. Think Daniel put type text on purpose just like on pagespeed.web.dev - to make client side not to restrictive.

  4. JamieSlome commented on Feb 13, 2024

    @JamieSlome
    CollaboratorAuthor

    Thanks for the feedback @moshetanzer 🤝

    Generally speaking, I've always thought it is good practice to have client-side and server-side validation. It also doesn't make too much sense submitting a non-domain input if the server can only work with a valid domain input. I guess it is a matter of preference; if the server side is light it doesn't make much of a difference.

    @danielroe - thoughts?

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomers

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions