Vi använder kakor (cookies) för att webbplatsen ska fungera så bra som möjligt för dig.
Vi använder också kakor för webbanalys för att göra webbplatsen bättre.
Godkänner du att vi också använder kakor för webbanalys?
Du använder valideringsformulär när du har ett formulär eller ett mindre delformulär som ska valideras.
Vid tryck på submit-knapp utförs klientvalidering och de fel som hittas presenteras i en lista som får fokus.
Komponentens submit-event skickas enbart om allt innehåll är giltigt.
Komponenten är transparent och attribut tilldelas form-elementet.
Attributet autocomplete är satt till off.
<template><f-validation-form @submit="onSubmit"><template #error-message> Oj, du har glömt fylla i något. Gå till: </template><template #default><f-phone-text-fieldv-model="phone"v-validation.required></f-phone-text-field><f-phone-text-fieldv-model="phoneAlt">
Alternativt telefonnummer (frivilligt)
</f-phone-text-field><f-email-text-fieldv-model="email"v-validation.required></f-email-text-field><f-fieldsetv-validation.requiredname="info"><template #label> Hur vill du få information från oss? </template><template #default><f-radio-fieldv-model="info"value="mejl"> Mejl </f-radio-field><f-radio-fieldv-model="info"value="sms"> Sms </f-radio-field></template></f-fieldset><f-fieldsetv-validation.requiredname="type"><template #label> Vilken information vill du ha? </template><template #default><f-checkbox-fieldv-model="news":value="true"> Nyheter </f-checkbox-field><f-checkbox-fieldv-model="tips":value="true"> Tips </f-checkbox-field></template></f-fieldset><divclass="button-group"><buttontype="submit"class="button button-group__item button--primary button--large"
>
Spara
</button><buttontype="button"class="button button-group__item button--secondary button--large"
@click="onCancel"
>
Avbryt
</button></div></template></f-validation-form></template><script>import { defineComponent } from"vue";
import {
FCheckboxField,
FEmailTextField,
FFieldset,
FRadioField,
FPhoneTextField,
FValidationForm,
} from"@fkui/vue";
exportdefaultdefineComponent({
name: "FValidationFormDefault",
components: {
FCheckboxField,
FEmailTextField,
FFieldset,
FRadioField,
FPhoneTextField,
FValidationForm,
},
data() {
return {
phone: "",
phoneAlt: "",
email: "",
info: "",
tips: false,
news: false,
};
},
methods: {
onSubmit() {
alert("Spara");
},
onCancel() {
alert("Avbryt");
},
},
});
</script>
För att få validering och felhantering att fungera för inmatningskomponenter som ligger dolda i en kollapsad expanderbar yta måste du se till att ytan öppnas.
Använd errorListBeforeNavigate för att öppna den expanderbara ytan innan fokus kan flyttas till inmatningsfältet.
Fält valideras redan med vanlig validering, men om extra validering behövs (manuella steg, korsvalidering eller servervalidering osv) så kan beforeValidation eller beforeSubmit användas för att påverka flödet.
Hook
Beskrivning
beforeValidation
Anropas före ordinarie validering, använd denna om du vill använda dig av inmatade värden oavsett om de är validerade eller ej.
beforeSubmit
Anropas efter ordinarie validering men före submit eventet emittas, använd denna om du vill använda dig av validerade värden.
Båda hooks kan avbryta flödet genom att returnera FValidationFormAction.ABORT:
@onBeforeSubmit() {
const result = awaitthis.awesomeServerValidation();
if (result === 'fail') {
returnFValidationFormAction.CANCEL;
}
}
Följande exempel visar hur man kan använda beforeSubmit för att servervalidera inmatningsfält.
Första inmatningsfältet kommer alltid få ett fel när man försöker skicka in formuläret.
If given, this function is called before the submit event is emitted.
Optionally this callback may return FValidationFormAction. If FValidationFormAction.CANCEL is returned the submission is
cancelled and no event will be emitted. The consumer should make it
clear why the action was cancelled.
If a promise is returned it will be awaited.
The consumer does not need to validate form data, it is handled
internally by the component.
FValidationFormCallback
false
function() {
return () => undefined;
}
beforeValidation
If given, this function is called before the form data is validated and the submit event is emitted.
FValidationFormCallback
false
function() {
return () => undefined;
}
id
The id for the form id attribute.
If the prop is not set a random value will be generated.
string
false
() => ElementIdService.generateElementId()
useErrorList
Include the error list component.
boolean
false
true
errorListBullets
Display bullets in the error list component.
boolean
false
true
errorListBeforeNavigate
Optional callback function to the error list component for performing actions before navigation.