Scusa ma non bastava validare l'input con type="date" ?

codice:
    <input type="date" name="dateend" id="dateend" required>

    <script>
        const dateend = document.getElementById('dateend')

        dateend.value = new Date().toLocaleDateString('en-CA')

        dateend.addEventListener('change', () => {
            const myDate = new Date(dateend.value)
            const enDate = (new Intl.DateTimeFormat('en-GB', { dateStyle: 'short' }).format(myDate)).replaceAll('/','-')

            console.log(dateend.value, enDate)
        })

    </script>