Vue Academy · leksjon

Mønstre for manuell validering

Reaktive feilobjekter, validering ved blur kontra innsending og samsvar mellom passordbekreftelser.

Leksjon 3 av 413 trinn

Mønstre for manuell validering er en gratis leksjon i Vue Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Vue Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Vue Academy inneholder totalt 4 leksjoner.

Validering uten et bibliotek

For enkle skjemaer kan du validere manuelt ved hjelp av reaktiv tilstand. Du følger med på feil, kjører kontroller ved innsending eller når brukeren forlater et felt, og viser meldinger med direktiver. Dette lærer deg grunnlaget som alle biblioteker bygger på.

Et errors-objekt

Behold et reaktivt errors-objekt med feltnavn som nøkler. En tom streng (eller en manglende nøkkel) betyr at det ikke finnes noen feil.

<script setup>
import { reactive } from 'vue'
const form = reactive({ name: '', email: '' })
const errors = reactive({ name: '', email: '' })
</script>

En validate-funksjon

Skriv en validate-funksjon som kontrollerer hvert felt og angir meldinger i errors-objektet. Returner om skjemaet er gyldig.

<script setup>
function validate() {
  errors.name = form.name ? '' : 'Name is required'
  errors.email = form.email.includes('@') ? '' : 'Invalid email'
  return !errors.name && !errors.email
}
</script>

Validering ved innsending

Kall validate i starten av innsendingen, og avbryt hvis valideringen mislykkes. Da garanterer du at ingen ugyldige data blir sendt.

<script setup>
function onSubmit() {
  if (!validate()) return
  // proceed to send
}
</script>

Validering av hvert felt ved blur

Det kan føles tregt å validere bare ved innsending. Valider ett enkelt felt når brukeren forlater det, ved å bruke @blur for umiddelbar tilbakemelding.

<script setup>
function validateName() {
  errors.name = form.name ? '' : 'Name is required'
}
</script>

<template>
  <input v-model="form.name" @blur="validateName" />
</template>

Vise feilmeldinger

Bruk v-if til å vise en melding bare når det finnes en feil i feltet. Plasser den nær inndatafeltet.

<template>
  <input v-model="form.name" @blur="validateName" />
  <span v-if="errors.name" class="msg">{{ errors.name }}</span>
</template>

Stilsette ugyldige felt

Bind en klasse ved hjelp av objektsyntaksen for å legge til en rød kant når det finnes en feil. Klassen brukes bare mens errors.name er sann.

<input
  v-model="form.name"
  :class="{ error: errors.name }"
  @blur="validateName"
/>

error-stilen

En liten CSS-regel fullfører utseendet – en rød kant viser at feltet trenger oppmerksomhet.

<style>
.error { border: 1px solid red; }
.msg { color: red; font-size: 12px; }
</style>

Beregnet gyldighet

Avled et overordnet gyldighetsflagg med computed for å aktivere eller deaktivere innsendingknappen reaktivt.

<script setup>
import { computed } from 'vue'
const isValid = computed(() => !errors.name && !errors.email)
</script>

<template>
  <button :disabled="!isValid">Submit</button>
</template>

Fordeler og begrensninger

Manuell validering er tydelig og uten avhengigheter, og passer perfekt for små skjemaer. Men når reglene blir flere – kontroller på tvers av felt, asynkron validering og mange felt – blir mengden standardkode stadig større. Derfor finnes biblioteker.

Oppsummering av valideringsflyten

Mønsteret er følgende: reaktive feil, en validate-funksjon, kjør den ved innsending (og eventuelt ved blur), vis meldinger med v-if, og stilsett med en betinget klasse.

Hurtigsjekk

Test kunnskapen din om manuell validering.

Oppsummering

Mønstre for manuell validering:

  • Behold et reaktivt errors-objekt med felt som nøkler.
  • En validate-funksjon angir meldinger og returnerer om dataene er gyldige.
  • Valider ved innsending, og valider hvert felt ved @blur for rask tilbakemelding.
  • Vis meldinger med v-if="errors.x", og stilsett med :class="{ error: errors.x }".
Gratis å komme i gang

Lær deg HTML med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
42
Leksjoner
156

Ofte stilte spørsmål

Er leksjonen «Mønstre for manuell validering» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Vue Academy, inkludert «Mønstre for manuell validering», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Vue Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Mønstre for manuell validering»?

Reaktive feilobjekter, validering ved blur kontra innsending og samsvar mellom passordbekreftelser. Du øver på Vue Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Vue Academy?

Ingen tidligere erfaring er nødvendig. Vue Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Mønstre for manuell validering»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Vue Academy-leksjonen?

Ja. Alle Vue Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. v-model på alle skjemaelementer
  2. Sende inn og tilbakestille skjemaer
  3. Mønstre for manuell validering
  4. VeeValidate for skjemabasert validering
← Tilbake til Vue Academy