Client Side Validation Rules

  • 2
  • Idea
  • Updated 3 years ago
  • Under Consideration
Any thoughts on providing client side validation rules via the Page Composer experience?  

e.g. Start Date cannot be in the past, Irvin's Salary cannot be less than 1Gillion, etc.
Photo of Irvin Waldman

Irvin Waldman, Champion

  • 9,006 Points 5k badge 2x thumb
  • Caffeinated

Posted 3 years ago

  • 2
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,026 Points 20k badge 2x thumb
At least the second time you've asked for this.  (GRIN)
We certainly have stories about doing this in our backlog.  In the interim several customers have integrated with other JS libraries that provide this functionality, but usually more coding is required than absolutely should be necessary....  

After all its almost NoCode November...  
Photo of Irvin Waldman

Irvin Waldman, Champion

  • 9,006 Points 5k badge 2x thumb
I spent the weekend building a ASP.NET MVC application with Angular.  While a little verbose, client side validation it pretty much boilerplate with angular and boostrap.  All the time, I am thinking I want this in Skuid!  Thanks.
Photo of Ben Hubbard

Ben Hubbard, Employee

  • 12,490 Points 10k badge 2x thumb
Yeah, I've wanted this for a long time in Skuid. There are a couple of things I've thought about and would be good to get community feedback on if something like this were to exist.

1. Would people rather this be something tied to model fields, or actual instances of fields say in field editors or tables?

2. When should validation be triggered, or should people building pages have control of when client side validation was triggered? On key up? On Blur? On model Save? On "Validate Model" event?

3. What kind of validations would be useful? I'm thinking regex match, custom boolean formula. Anything else?

4. Also, I think a way to put in "status messages" on field inputs like (Strong, Week Password) or (10/255 characters used) would be a really cool feature.

Thoughts on this?
Photo of Irvin Waldman

Irvin Waldman, Champion

  • 9,006 Points 5k badge 2x thumb
We both could come up with use cases for each question and propose pros/cons for each.  

For an immediate use case,
  • I have a table with two fields: Start Date and End Date.  
  • Start Date cannot be in the past.  
  • End Date cannot occur before the Start Date.

This can be handled by standard validation rules.  However,
  1. I do not want to make a server call
  2. Validation rules become a nightmare when in a Shared Org i.e. each rule must include criteria to ensure specificity.  
Client side validation would be a win here just on points 1 and 2.

Next, I have a Save button defined with multiple actions.  Model Save may not be the first action; it could be the 2nd, 4th or even the last.  It would be nice to "execute" validations before actual model save.  OnBlur may be too soon and even annoying to the end user whereas if callable from an action sequence may be preferred.  

Hopefully, some of this is making sense.

For point 4, support for placeholder text would be a nice addition without having to resort to code. The new Override field metadata and inline help text is the first step in this direction.  The latter part is icing on the cake.
(Edited)
Photo of Ben Hubbard

Ben Hubbard, Employee

  • 12,490 Points 10k badge 2x thumb
Thanks for the feedback Irvin. I really want to make this happen, but can't promise a timeframe.
Photo of Irvin Waldman

Irvin Waldman, Champion

  • 9,006 Points 5k badge 2x thumb
Thanks!