Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

134 linhas
4.9 KiB

  1. /* empty css */ import e from "https://cdn.jsdelivr.net/npm/zod/+esm"
  2. ;(function () {
  3. const t = document.createElement("link").relList
  4. if (t && t.supports && t.supports("modulepreload")) return
  5. for (const a of document.querySelectorAll('link[rel="modulepreload"]')) s(a)
  6. new MutationObserver((a) => {
  7. for (const o of a)
  8. if (o.type === "childList")
  9. for (const n of o.addedNodes)
  10. n.tagName === "LINK" && n.rel === "modulepreload" && s(n)
  11. }).observe(document, { childList: !0, subtree: !0 })
  12. function i(a) {
  13. const o = {}
  14. return (
  15. a.integrity && (o.integrity = a.integrity),
  16. a.referrerPolicy && (o.referrerPolicy = a.referrerPolicy),
  17. a.crossOrigin === "use-credentials"
  18. ? (o.credentials = "include")
  19. : a.crossOrigin === "anonymous"
  20. ? (o.credentials = "omit")
  21. : (o.credentials = "same-origin"),
  22. o
  23. )
  24. }
  25. function s(a) {
  26. if (a.ep) return
  27. a.ep = !0
  28. const o = i(a)
  29. fetch(a.href, o)
  30. }
  31. })()
  32. window.useFormFormValidator = () => {
  33. const r = e.object({
  34. firstName: e
  35. .string("Please enter your first name")
  36. .min(2, "First name must be at least 2 characters long"),
  37. lastName: e
  38. .string("Please enter your last name")
  39. .min(2, "Last name must be at least 2 characters long"),
  40. username: e
  41. .string("Please enter your username")
  42. .min(2, "Username must be at least 2 characters long"),
  43. email: e.email("Invalid email address"),
  44. phoneNumber: e
  45. .string("Phone number is invalid")
  46. .regex(/^[0-9]{10}$/, "Phone number must be 10 digits long"),
  47. dob: e.iso.date("Invalid date of birth"),
  48. }),
  49. t = {
  50. firstName: "",
  51. lastName: "",
  52. username: "",
  53. email: "",
  54. phoneNumber: "",
  55. dob: new Date().toLocaleString(),
  56. }
  57. return createFormValidator(r, t)
  58. }
  59. window.useTextFormValidator = () => {
  60. const r = e.object({
  61. optionalText: e.string().optional(),
  62. minimumText: e.string().min(3, "Text must be at least 3 characters"),
  63. maximumText: e.string().max(5, "Text must be at max 5 characters"),
  64. }),
  65. t = { optionalText: "", minimumText: "12", maximumText: "123456" }
  66. return createFormValidator(r, t)
  67. }
  68. window.useNumberValidator = () => {
  69. const r = e.object({
  70. optionalNumber: e.preprocess((i) => (i === "" ? void 0 : i), e.number().optional()),
  71. minimumNumber: e.number().min(18, "You must be at least 18"),
  72. maximumNumber: e.number().max(99, "You must be at maximum 99"),
  73. }),
  74. t = { optionalNumber: "", minimumNumber: 17, maximumNumber: 100 }
  75. return createFormValidator(r, t)
  76. }
  77. window.useEmailFormValidator = () => {
  78. const r = e.object({
  79. requiredEmail: e.email("Invalid email address"),
  80. optionalEmail: e.preprocess(
  81. (i) => (i === "" ? void 0 : i),
  82. e.email("Invalid email address").optional()
  83. ),
  84. }),
  85. t = { optionalEmail: "", requiredEmail: "" }
  86. return createFormValidator(r, t)
  87. }
  88. window.useRadioFormValidator = () => {
  89. const r = e.object({
  90. requiredRadio: e.enum(["male", "female", "other"], { message: "Select gender" }),
  91. }),
  92. t = { requiredRadio: "" }
  93. return createFormValidator(r, t)
  94. }
  95. window.useCheckboxFormValidator = () => {
  96. const r = e.object({
  97. requiredCheckbox: e.boolean().refine((i) => i, { message: "Accept terms to continue" }),
  98. }),
  99. t = { requiredCheckbox: !1 }
  100. return createFormValidator(r, t)
  101. }
  102. window.useToggleFormValidator = () => {
  103. const r = e.object({
  104. requiredToggle: e.boolean().refine((i) => i, { message: "Accept terms to continue" }),
  105. }),
  106. t = { requiredToggle: !1 }
  107. return createFormValidator(r, t)
  108. }
  109. window.useSelectFormValidator = () => {
  110. const r = e.object({ requiredSelect: e.string().min(1, "Select a country") }),
  111. t = { requiredSelect: "" }
  112. return createFormValidator(r, t)
  113. }
  114. window.useRangeFormValidator = () => {
  115. const r = e.object({
  116. betweenNumber: e
  117. .number()
  118. .min(20, "You must be at least 20")
  119. .max(80, "You must be at maximum 80"),
  120. }),
  121. t = { betweenNumber: 15 }
  122. return createFormValidator(r, t)
  123. }
  124. window.useRatingsFormValidator = () => {
  125. const r = e.object({
  126. requiredRating: e.preprocess(
  127. (i) => (i === void 0 ? void 0 : parseInt(i)),
  128. e.number("Please select a rating").min(1, "Please select a rating")
  129. ),
  130. }),
  131. t = { requiredRating: 0 }
  132. return createFormValidator(r, t)
  133. }