/* |-------------------------------------------------------------------------- | Validator file |-------------------------------------------------------------------------- | | The validator file is used for configuring global transforms for VineJS. | The transform below converts all VineJS date outputs from JavaScript | Date objects to Luxon DateTime instances, so that validated dates are | ready to use with Lucid models and other parts of the app that expect | Luxon DateTime. | */ import { DateTime } from 'luxon' import vine, { SimpleMessagesProvider, VineDate } from '@vinejs/vine' declare module '@vinejs/vine/types' { interface VineGlobalTransforms { date: DateTime } } VineDate.transform((value) => DateTime.fromJSDate(value)) /** * Error messages shown in the dashboard. */ vine.messagesProvider = new SimpleMessagesProvider( { 'required': 'Le champ « {{ field }} » est obligatoire.', 'requiredWhen': 'Le champ « {{ field }} » est obligatoire pour ce type de projet.', 'string': 'Le champ « {{ field }} » doit être un texte.', 'number': 'Le champ « {{ field }} » doit être un nombre.', 'boolean': 'Le champ « {{ field }} » doit être vrai ou faux.', 'enum': 'La valeur de « {{ field }} » n’est pas autorisée.', 'regex': 'Le format de « {{ field }} » est invalide.', 'range': '« {{ field }} » doit être entre {{ min }} et {{ max }}.', 'withoutDecimals': '« {{ field }} » doit être un nombre entier.', 'minLength': '« {{ field }} » doit faire au moins {{ min }} caractères.', 'maxLength': '« {{ field }} » doit faire au plus {{ max }} caractères.', 'code.regex': 'Le code doit contenir 6 chiffres.', 'name.regex': 'Le nom ne peut contenir que des minuscules, des chiffres et des tirets (et commencer par une lettre ou un chiffre).', 'domain.regex': 'Le domaine est invalide.', 'gitUrl.regex': 'L’URL git doit commencer par https://, ssh:// ou git@.', }, { username: 'identifiant', password: 'mot de passe', code: 'code', name: 'nom', gitUrl: 'URL git', port: 'port', domain: 'domaine', content: 'contenu', } )