danielroe / page-speed.dev

https://page-speed.dev
MIT License
320 stars 13 forks source link

Implement domain validation for client-side input ✅ #19

Open JamieSlome opened 6 months ago

JamieSlome commented 6 months ago

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
Sal-ter commented 6 months ago

Happy to take this on!

JamieSlome commented 6 months ago

@Sal-ter - awesome 👍

moshetanzer commented 6 months ago

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.

JamieSlome commented 6 months ago

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?