Validering af dynamisk opbyggede elementer

Tags:    asp.net

Hejsa

Jeg har en plan om at opbygge en kontaktformular i codebehind i en tabel.
Hvert element sættes ind i en celle for at sørge for at elementerne kommer under hinanden i rækker.
For hver række skal der kunne sættes:
# REQUIRED
# TEXT
# CONTROL
# PATHTOICON

#REQUIRED
Dette afgør om første celle får en lille rund kugle ind i sig (nok et img eller canvas - men skal jeg se på).
Dette vil måske have et udråbstegn i for at differenciere fra senere.

#TEXT
Dette er teksten i celle 2 (Navn, Website, Adresse etc.).

#CONTROL
Hvilken type control det skal være - om det skal være dropdown, textbox etc.

#PATHTOICON
Sti til et lille ikon der skal være i slutningen for at indikere hvad det er, og gøre det grafiske lidt mere lækkert.

Et lign. eksempel på det jeg forsøger at opnå kan ses nederst på denne side.

Ideen var så at det sidste ikon i slutningen af hver række skal indikere om indholdet er iorden.
Via en asp.net validator vil jeg se på indholdet i tekstboxen og validere om det er godkendt. Hvis ikke skal billedet skifte fra det almindelige lille ikon, til samme ikon, der bare er lavet i rød eller grøn for at indikere om det er udfyldt korrekt.

Problemet er så bare at når du indsætter noget i code-behind så kan man godt give det et id og jeg kan også give dem id'er med numre så de passer til rækken - fx FIRSTCELL1, FIRSTCELL2, som så vil være den første celle i række 1 & 2.
Problemet bliver mere at validatoren ved postback på en tekstbox giver en fejl, så ved jeg ikke hvilket id jeg skal finde for kender ikke rækken jeg skal gøre noget ved.

Jeg ved godt det er meget nemmere at bare lave den i hånden med de id'er de skal have og så den mere eller mindre statisk, men det er lige så meget et forsøg på at lære og udfordre mig selv for at kende denne verden og dens muligheder, begrænsninger eller hvor der kan være noget der er besværligt - så jeg kan bruge den erfaring senere hen.

Er der nogen der kan hjælpe mig på vej her? :)



1 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Ved ikke om du kan bruge det, men jeg har erfaret at Razor i MVC3 med standard jQuery Untrobusive (stavehat) validering fungerer rigtig godt til formålet.

Vi havde primært en række modeller der, hvor vi kunne bruge attributter til at angive om feltet var påkrævet, hvad fejlmeddelse der skulle komme, og hvad tekst der skulle stå...

På den måde kunne vi i vores views skrive noget alá @Html.LabelFor(model => model.Attribut) @Html.EditorFor(model => model.Attribut)

Du kan også angive hvorvidt det skal være radios, combos osv.

Ved et postback, bliver modellen, altså ens klasse returneret og værdierne er lige til at gå til.

Samtidig er det nyttigt, hvis du f.eks. har en list, og gerne vil have tilføjet et ekstra felt... det gjorde vi på klient siden, uden at lave postbacks, da systemet selv registrerede de ekstra felter hvis de blot var navngivet korrekt i forhold til nummerering.

Ved ikke om du kan bruge det her til noget overhovedet, men der er nogle rigtige gode artikler og videoer på http://www.asp.net/mvc

Held og lykke :)



t