58 lines
2.1 KiB
TypeScript
58 lines
2.1 KiB
TypeScript
/*
|
||
|--------------------------------------------------------------------------
|
||
| 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',
|
||
}
|
||
)
|