schon/storefront/composables/rules/useFormValidation.ts
Alexandr SaVBaD Waltz 129ad1a6fa Features: 1) Build standalone pages for search, contact, catalog, category, brand, product, and home with localized metadata and scoped styles; 2) Add extensive TypeScript definitions for API and app-level structures, including products, orders, brands, and categories; 3) Implement i18n configuration with dynamic browser language detection and fallback system;
Fixes: None;

Extra: 1) Create Pinia stores for app, user, category, and company management; 2) Add utility functions for error handling and category slug lookups; 3) Include German locale file and robots.txt for improved SEO and accessibility; 4) Add SVG assets and improve general folder structure for better maintainability.
2025-06-27 00:10:35 +03:00

44 lines
No EOL
833 B
TypeScript

export function useValidators() {
const { t } = useI18n()
const required = (text: string) => {
if (text) return true
return t('errors.required')
}
const isEmail = (email: string) => {
if (!email) return required(email)
if (/.+@.+\..+/.test(email)) return true
return t('errors.mail')
}
const isPasswordValid = (pass: string) => {
if (pass.length < 8) {
return t('errors.needMin')
}
if (!/[a-z]/.test(pass)) {
return t('errors.needLower')
}
if (!/[A-Z]/.test(pass)) {
return t('errors.needUpper')
}
if (!/\d/.test(pass)) {
return t('errors.needNumber')
}
if (!/[#.?!@$%^&*'()_+=:;"'/>.<,|\-]/.test(pass)) {
return t('errors.needSpecial')
}
return true
}
return {
required,
isEmail,
isPasswordValid
}
}