import type { Meta, StoryObj } from '@storybook/vue3'
import { ref } from 'vue'
import DatePicker from '../../DatePicker/CalendarMode/DatePicker.vue'
export default {
title: 'Composants/Formulaires/DatePicker/Validation/Submit/MultiMode',
component: DatePicker,
parameters: {
docs: {
description: {
component: 'Exemples de validation pour le composant DatePicker avec calendrier.',
},
},
},
} as Meta
export const Required: StoryObj = {
parameters: {
sourceCode: [
{
name: 'Template',
code: `
Avec calendrier
Sans calendrier
`,
},
{
name: 'Script',
code: `
`,
},
],
},
render: () => ({
components: { DatePicker },
setup() {
const datePicker1 = ref()
const date1 = ref('')
const datePicker2 = ref()
const date2 = ref('')
const handleSubmit = async () => {
const isValid1 = await datePicker1.value?.validateOnSubmit()
const isValid2 = await datePicker2.value?.validateOnSubmit()
if (!isValid1 || !isValid2) {
alert('Corrigez les erreurs avant de soumettre !')
}
else {
alert('Formulaire soumis avec succès !')
}
}
return {
datePicker1,
date1,
datePicker2,
date2,
handleSubmit,
}
},
template: `
`,
}),
}
export const WithCustomRulesAndRequired: StoryObj = {
parameters: {
sourceCode: [
{
name: 'Template',
code: `
Avec calendrier
Sans calendrier
`,
},
{
name: 'Script',
code: `
`,
},
],
},
render: () => ({
components: { DatePicker },
setup() {
const datePicker1 = ref()
const date1 = ref('01/01/2100')
const datePicker2 = ref()
const date2 = ref('01/01/2100')
const handleSubmit = async (): Promise => {
const isValid1 = await datePicker1.value?.validateOnSubmit()
const isValid2 = await datePicker2.value?.validateOnSubmit()
if (!isValid1 || !isValid2) {
alert('Corrigez les erreurs avant de soumettre !')
}
else {
alert('Formulaire soumis avec succès !')
}
}
return {
datePicker1,
date1,
datePicker2,
date2,
handleSubmit,
}
},
template: `
`,
}),
}