- TypeScript 93.5%
- Shell 6.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
pack / pack (push) Successful in 6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
| .forgejo/workflows | ||
| .githooks | ||
| absenden | ||
| auswahl-und-mehr | ||
| bilder-hochladen | ||
| eingaben-pruefen | ||
| formular-und-felder | ||
| gemeinsam | ||
| locales | ||
| scripts | ||
| .gitignore | ||
| .npmrc | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
Web-Grundlagen 3: Formulare
Challenge-Paket für Aivopod: Formulare und was sie an einen Server schicken. Baut auf web-grundlagen und web-grundlagen-2 auf. Das Paket bringt einen Lernserver mit (ein Tierheim mit den Sammlungen tiere und anfragen): Formulare der Schüler:innen schicken echte Anfragen, der Server prüft sie und antwortet mit Statuscodes. Was sie speichern, bleibt in ihrem Speicher tierheim – auch auf anderen Geräten und für spätere Pakete, die denselben Speicher nennen.
| Challenge | Inhalt |
|---|---|
Formular und Felder (formular-und-felder) |
form, input, label mit for/id, name als das, was ankommt, Feldarten |
Absenden und Antwort (absenden) |
action, method (GET oder POST), Statuscodes 201, 404, 422, der Bereich Netzwerk |
Eingaben prüfen (eingaben-pruefen) |
required, type="email", min/max; der Server prüft trotzdem (422, novalidate) |
Auswahl, Text und Haken (auswahl-und-mehr) |
select/option und value, textarea, Haken (nur angehakt geschickt), Knöpfe zur Wahl |
Bilder hochladen (bilder-hochladen) |
type="file", accept, enctype="multipart/form-data", die Galerie des Servers |
In dieser Reihenfolge (aivopod.ablauf), mit den Stufen normal und erweitert (bei Auswahl auch experte). Geprüft wird am HTML und daran, was die Seite wirklich an den Server schickt (Prüfung server). Braucht Aivopod 0.6.0-rc.3.
Arbeiten am Paket
npm install # das SDK aus der Registry der Organisation (.npmrc)
aivopod pack test # Tests, ohne vitest
aivopod pack preview # alle Schritte im Browser durchspielen, mit dem Lernserver
aivopod pack build # bündeln, prüfen, Release-Archiv in dist/
Der Server ist in gemeinsam/tierheim.ts beschrieben und für alle Challenges gleich. Paket-Tests beschreiben unter server, was eine Seite schickt; der Test-Helfer schickt das an diesen Server, so stammen Statuscodes wie 422 aus seinen Regeln.
Veröffentlichen: Die Version in package.json erhöhen (Patch: nur Texte; Nebenversion:
Änderungen in bestehenden Challenges oder im Ablauf; Hauptversion: andere Challenges) und nach
main bringen. Die CI prüft die Version gegen das letzte Release und legt ein neues Release
v<version> mit dem Archiv an. Plattformen, die dieses Repo (oder seine Organisation) als
Quelle eingetragen haben, finden es, wenn das Repo das Thema aivopod-pack hat.