Domino 9 und frühere Versionen > ND6: Entwicklung

Pseudotag vs. serverseitige Pflichtfeldprüfung setfield Problem

<< < (2/3) > >>

Lotusnap:
Danke für deine Mühe.

Leider ist es das nicht. Ich habe ja zum Zeitpunkt der Eingabe der Daten keine Maske, sondern ein HTML Formular.  Ich mache es mal ein bisschen konkreter:

Mein Pseudotag:

--- Code: ---text:={<strong>}+"Fehlerhafte Eingabe in Feld:" + {</strong><ul >};

eintraege:="ffmbadditionsrollen"... und 99 weitere Einträge


@for(n:=1; n <= @elements(eintraege); n:=n+1;

Fehler:=1;

@for(m:=1;m <= @length(@getfield(eintraege[n]));m:=m+1;

zeichen:=@text(@rightback(@leftback(@getfield(eintraege[n]);@length(@getfield(eintraege[n]))-m);m-1));

@for(k:=49;k <= 57;k:=k+1;

Fehler := @if(zeichen=@char(k);1;0);
k:=@if(zeichen=@char(k);58;k);
m :=@if(k=57&@char(k)!=zeichen;@length(@getfield(eintraege[n]))+1;m)

);
zeichen := ""
);


teilstring:="";
teilstring:= @if(Fehler=0;@text(@rightback(eintraege[n];4));"");
anfangsbuchstabe:=@Uppercase(@left(teilstring;1));
teilstring:=@if(teilstring="";"";{<li class="Fehler">} + anfangsbuchstabe + @rightback(teilstring;1) +{</li>});
teilstring:= @replacesubstring(teilstring;"_":"umschlaege":"pzu";" ":"Umschläge":"PZU");
teilstring := @replacesubstring(teilstring;"1 12":"a z":"1 31":"21  5":"8  5":"1  5v":"4  2":"9v";"1-12":"A-Z":"1-31":"21,5":"8,5":"1,5 V":"4,2":" 9 V");
text := text + teilstring

);
@if(@length(text)>38;@setfield("Temp";"Fehler");""); <-- das funktioniert nicht
@if(@length(text)>38;text+{</ul>};"");


--- Ende Code ---

Jetzt muss ich die Masse an Pseudotag noch in die serverseitige Pflichtfeldprüfung überführen. Hat jmd nen Tipp wie ich das mache? Ich bin mir nicht sicher was ich alles verwenden darf (@for?; variablen definieren?). Bin wie mein Nick schon sagt, ein Neuling :).

atbits:
Hallo,
wenn die Validierung wirklich serverseitig passieren muß (?) dann würde ich das im WebQuerySave Agenten machen.

Ich würde es aber vorzugsweise per JavaScript machen.

Du kannst auch eine Kombination aus beidem machen und vor dem eigentlichen Submit die zu prüfenden Felder per Ajax an einen Agenten schicken der validiert und danach erst das eigentliche Submit.

Grüße David

Lotusnap:

--- Zitat von: atbits am 12.07.10 - 09:37:41 ---Hallo,
wenn die Validierung wirklich serverseitig passieren muß (?) dann würde ich das im WebQuerySave Agenten machen.


--- Ende Zitat ---

Hi,
ich würde so gerne JavaScrict verwenden, darf ich allerdings wegen Barrierefreiheit nicht.
Wo erstelle ich den WebQuerySave Agenten ? In der Scriptbibliothek ? Das "umwandeln" des Pseudotag in einen Agenten sehe ich nicht als schwierig an, wie stelle ich es denn in den Agenten an, dass das Dokument nicht abgeschickt wird, sondern wie bei der normalen Pflichtfeldprüfung "neu geladen wird".

Danke schonmal im Voraus.

atbits:
Schau mal hier http://ichwill.net/
Nur weil Du barrierefrei sein willst mußt du nicht auf JS verzichten ;-)

\lg david

m3:
Ich würde aber nicht nur wegen der Barrierefreiheit sondern auch aus Sicherheitsgründen auf eine Validierung auf Serverseite nicht verzichten.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln