rule/rx.js

  1. /**
  2. * Svelte Form validation rules module.
  3. * @module svelte-form/rule/rx
  4. */
  5. import tc from '@spaceavocado/type-check';
  6. /**
  7. * Custom regex rule.
  8. * @param {string} msg error message.
  9. * @param {number} arg Regular expression.
  10. * @return {boolean|string} true when valid, error message otherwise.
  11. */
  12. export default (msg, arg) => (value) => {
  13. if (tc.isNullOrUndefined(value) || tc.not.isString(value)) {
  14. return msg;
  15. }
  16. if (value.match(arg) == null) {
  17. return msg;
  18. }
  19. return true;
  20. };