Fork me on GitHub
#fulcro
<
2022-02-01
>
genekim20:02:03

Can anyone remind me of how to use plaintext URL routes that show up in the browser instead of “hashed URLs”, like this? I’m hoping it will provide a quick/easy way to go to a specific page numbers in a RAD report. Many thanks!

genekim20:02:26

I’m hoping there will be something like “pagenumber=3” that I could modify and submit.

Jakub Holý (HolyJak)22:02:46

Well, the JS history api is the answer. You just need to book it to your code.

Jakub Holý (HolyJak)22:02:15

As @UPWHQK562 points out, RAD had built in that any routing params are stored in a single query param. That works fine but is not read/edit friendly for end users. So you would need to hook up some custom stuff

bmaddy20:02:00

How are people handling complex validations in RAD? ao/valid? seems to be focused on single field validations and I need to validate against multiple fields (ex. start-date must be before end-date) where I need both fields to display the error. fo/validator and fs/make-validator looks like it doesn't have a way to do web requests for validations that can't be one on the client (ex. check an address against the Melissa Data database before the user presses save). This leads me to believe I need to hook in to the state machine stuff and store validation results in the database as derived data. Is that how others are doing this? Is there another way I've maybe missed in the docs?

Jakub Holý (HolyJak)22:02:42

That sounds reasonable. Use fs/validators for client - side validation and modify the UISM to add an extra step to run server - side validation for field that need it, setting something like :ui/server-validated? on those fields afterwards (and processing to allow /do submit)

tony.kay00:02:10

inter-fields stuff is built in with validator....round trip stuff is not included

tony.kay00:02:15

you have to make custom controls for rhat

tony.kay00:02:32

either a custom control, or modify the state machine, yes

bmaddy03:02:48

Great. It's nice to know I'm on the right track. I have some other complications I didn't mention that means I'll need to go the UISM route. Thanks you two!