surveyplanet / utilities

A collection of Typescript utility functions.
MIT License
0 stars 0 forks source link

Refactor validator #7

Closed jwerre closed 9 months ago

jwerre commented 11 months ago

As it is now validator is tied directly to an input and to it's data-validate-rules and data-validate-message attributes:

<input
    type="email"
    id="email"
    name="email"
    data-validate-rules="required,email"
    data-validate-message="Hey! you need to use a proper email dude." />

It would be better it could be used as a generic function rather than a wrapper for an input. For example:

const rules = ['required', 'email'];

function submitHandler (e) {
  const errs = validate( rules, e.target.values);
  if (errs) {
     return showErrorMessages(errs)
  }

  fetch(...)
}