Rust and WASM for Form Validation

30 slau 15 7/4/2025, 12:24:50 PM sebastian.lauwe.rs ↗

Comments (15)

neoneye2 · 34m ago
I have done the same, using same rust code for frontend/backend.

The UI is here https://loda-lang.org/edit/?oeis=2487

It can run from commandline for mining.

Implementation https://github.com/loda-lang/loda-rust

zoechi · 27m ago
Dioxus 0.7 comes with a set of components that cover even most of interaction with the JS side. There are great times ahead. What seems to be missing is modularizing and lazy loading of the WASM moduls to reduce initial download size (I saw some experiments). I immensely enjoy being able to use a sane language+tools for backend and frontend.
reactordev · 2h ago
Oh dear god no. Form Validation is what JavaScript was meant for. Do we really need to download >1MB wasm module so you can do a regex?

WASM should be left to things like IPC/Canvas/WebGPU stuff, not things easily done with document.querySelector

No offense, but this is using a bomb to kill a fly.

I know it says this is just a demo but people will find this and do this thinking it’s normal.

jpdenford · 12m ago
The author said the following

> I’m using form validation as a placeholder. It shows all the crucial aspects to use WASM instead of JS, like wiring up DOM events to Rust functions, and then reacting to those events.

milliams · 2h ago
I just compiled the code provided in the article and the compiled WASM module is 22kb. Not saying that it makes it the right solution, but a 45× difference is not insignificant.
remram · 2h ago
But the example code doesn't do much validation. If you did want to use a regex, you would have to compile and bundle the regex crate...
littlestymaar · 1h ago
And what kind of form validation are you going to do with a regular expression? E-mail addresses like every other fool? (This is a the best to reject perfectly valid addresses because you baked unjustified assumptions in you regex)
remram · 4m ago
Me? None. I'm not the one proposing the use of Rust and WASM for form validation.

What kind of validation are you going to do without a regular expression?

zoechi · 24m ago
The bigger and more complex the application, the less is the effect of this.
porridgeraisin · 1h ago
For what it's worth, the inbuilt HTML5 validation that implementw input type=email does have a regex in the spec.

https://html.spec.whatwg.org/#email-state-(type=email)

  /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/

But it is true that you can implement it with a FSM(which is what firefox does). Webkit uses a regex as well I think.
drowsspa · 37m ago
Yeah, for all intents and purposes that's the spec for emails now
madduci · 1h ago
Same with some JavaScript frameworks. I need to download 700kb+ JS files just to perform some fancy stuff.
qoez · 1h ago
Once you compile it to wasm and dead code analysis is applied and notices that only a fraction of whatever libraries you're using is necessary for form validation the code tends to be a lot less than what you'd have if you used non dead code analyzed pure JS.
graypegg · 1h ago
Well, if we were implementing the equivalent in JS, we'd also use https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputEl... just like this. I think it would maybe be a few lines of javascript at most to do exactly what this is doing. 400ish bytes?

Of course there's always the argument that you'd add more javascript to "framework-ize" this a bit more, but the rust code is just targeting the DOM with IDs, so I don't think it's fair to compare it to any "framework-y" solution.

jedisct1 · 1h ago
Learn JavaScript.