<template> <form @submit.prevent="submit"> <FormGroup :error="fieldHasErrors('ical_url')" :helper-text="$t('iCalCalendarDataSync.description')" required small-label class="margin-bottom-2" > <template #label>{{ $t('iCalCalendarDataSync.name') }}</template> <FormInput ref="ical_url" v-model="values.ical_url" size="large" :error="fieldHasErrors('ical_url')" @focus.once="$event.target.select()" @blur="v$.values.ical_url.$touch()" > </FormInput> <template #error> <div v-if="v$.values.ical_url.$dirty && !v$.values.ical_url.required"> {{ $t('error.requiredField') }} </div> <div v-else-if="v$.values.ical_url.$dirty && !v$.values.ical_url.url"> {{ $t('error.invalidURL') }} </div> </template> </FormGroup> </form> </template> <script> import { required, url } from '@vuelidate/validators' import form from '@baserow/modules/core/mixins/form' export default { name: 'ICalCalendarDataSync', mixins: [form], data() { return { allowedValues: ['ical_url'], values: { ical_url: '', }, } }, validations: { values: { ical_url: { required, url }, }, }, } </script>