JavaScript Academy · Lektion

Constraint Validation-API'en

Brug den indbyggede kontrol af gyldighed.

Lektion 4 af 413 trin

Constraint Validation-API'en er en gratis JavaScript Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i JavaScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. JavaScript Academy-kurset indeholder 4 lektioner i alt.

Indbygget validering

HTML-formularfelter understøtter attributter som required, min, max, pattern og type="email". Constraint Validation API'et lader JavaScript undersøge og styre denne indbyggede validering.

checkValidity

checkValidity returnerer en boolesk værdi og udløser en invalid-hændelse på hver kontrol, der fejler, uden at vise browserens pop op-meddelelse.

const email = document.querySelector("#email");
console.log(email.checkValidity());

reportValidity

reportValidity fungerer som checkValidity, men viser også browserens brugerflade med valideringsmeddelelser for ugyldige felter.

if (!form.reportValidity()) {
  console.log("show built-in errors");
}

validity-objektet

Hver kontrol har et validity-objekt med booleske flag, der præcist beskriver, hvad der er galt.

console.log(email.validity.valueMissing);  // empty required
console.log(email.validity.typeMismatch);  // wrong format
console.log(email.validity.tooShort);

validity.valid

validity.valid er kun true, når feltet overholder alle begrænsninger, og opsummerer dermed de øvrige flag.

if (email.validity.valid) {
  console.log("ok");
}

validationMessage

validationMessage indeholder den lokaliserede meddelelse, som browseren ville vise for den aktuelle fejl.

console.log(email.validationMessage);

setCustomValidity

setCustomValidity markerer et felt som ugyldigt med din egen meddelelse. En ikke-tom streng betyder ugyldig, mens en tom streng rydder meddelelsen.

function checkMatch() {
  if (pass.value !== confirm.value) {
    confirm.setCustomValidity("Passwords must match");
  } else {
    confirm.setCustomValidity("");
  }
}

Ryd altid brugerdefinerede fejl

Hvis du angiver en brugerdefineret meddelelse, skal du rydde den med en tom streng, når feltet bliver gyldigt. Ellers forbliver feltet ugyldigt for altid.

confirm.addEventListener("input", () => {
  confirm.setCustomValidity("");
  checkMatch();
});

invalid-hændelsen

Lyt efter invalid-hændelsen for at køre brugerdefineret logik, f.eks. formatere et felt, når valideringen fejler.

email.addEventListener("invalid", () => {
  email.classList.add("error");
});

Deaktivere indbyggede bobler

Føj novalidate til formularen for at undertrykke indbyggede pop op-meddelelser, mens du stadig bruger API'et til dine egne meddelelser.

form.setAttribute("novalidate", "");
form.addEventListener("submit", (e) => {
  if (!form.checkValidity()) e.preventDefault();
});

Formatering med :valid og :invalid

CSS-pseudoklasserne :valid og :invalid formaterer automatisk felter ud fra deres valideringstilstand.

Hurtig kontrol

Brugerdefineret valideringsregel.

Opsummering

Constraint Validation API fungerer sammen med HTML's attributter for begrænsninger. Brug checkValidity/reportValidity til at teste og eventuelt vise fejl, undersøg flagene i validity og validationMessage, og tilføj brugerdefinerede regler med setCustomValidity. Ryd dem med en tom streng. Hændelsen invalid og CSS-klasserne :valid/:invalid hjælper med formateringen.

Gratis at komme i gang

Lær JavaScript med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
59
Lektioner
200

Ofte stillede spørgsmål

Er lektionen “Constraint Validation-API'en” gratis?

Ja — alle 3 lektioner i læringssporet JavaScript Academy, inklusive “Constraint Validation-API'en”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. JavaScript Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Constraint Validation-API'en”?

Brug den indbyggede kontrol af gyldighed. Du øver dig i JavaScript Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på JavaScript Academy?

Der kræves ingen tidligere erfaring. JavaScript Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Constraint Validation-API'en”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne JavaScript Academy-lektion?

Ja. Alle JavaScript Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Læsning af inputværdier
  2. submit-hændelsen
  3. Validering på klientsiden
  4. Constraint Validation-API'en
← Tilbage til JavaScript Academy