<template> <form @submit.prevent="submit"> <FormGroup small-label required :label="$t('customDomainForm.domainNameLabel')" :error=" fieldHasErrors('domain_name') || Boolean(serverErrors.domain_name) " > <FormInput v-model="values.domain_name" size="large" @input="serverErrors.domain_name = null" @blur="v$.values.domain_name.$touch()" /> <template #error> <template v-if="v$.values.domain_name.$dirty"> <span v-if="!v$.values.domain_name.required"> {{ $t('error.requiredField') }} </span> <span v-if="!v$.values.domain_name.maxLength"> {{ $t('error.maxLength', { max: 255 }) }} </span> </template> <div v-if="serverErrors.domain_name"> <span v-if="serverErrors.domain_name.code === 'invalid'"> {{ $t('domainForm.invalidDomain') }} </span> <span v-if="serverErrors.domain_name.code === 'unique'"> {{ $t('domainForm.notUniqueDomain') }} </span> </div> </template> </FormGroup> </form> </template> <script> import { required, maxLength } from '@vuelidate/validators' import domainForm from '@baserow/modules/builder/mixins/domainForm' export default { name: 'CustomDomainForm', mixins: [domainForm], data() { return { values: { domain_name: '', }, } }, validations() { return { values: { domain_name: { required, maxLength: maxLength(255), }, }, } }, } </script>