Domino 9 und frühere Versionen > Entwicklung
input validation feld voll feld leer
luna:
hallo axel,
vielen lieben herzlichen dank. jetzt geht das ganze so wie es ist. hat wunderbar funktioniert.
aber leider ist das ganze noch nicht abgeschlossen, denn mir ist grad aufgefallen, dass ich user hab, die mehere rollen haben koennen (z.b. orange und blau zusammen), die aber einerseits dokumente nur anlegen sollen (orange) und andererseits aber auch dokumente von anderen usern editieren koennen sollen (blau). die kriegen dann aber beim nur anlegen eine fehlermeldung.
denkst du, das kann man auch irgendwie loesen? oder woll ich lieber ganz neue, andere rollen anlegen fuer solche user?
gruss,
daniela
Axel:
Hi Daniela,
ich glaube neue Roolen sind hier einfacher zu realiseren.
Axel
luna:
hallo axel,
ich war grad beim manager dieser datenbank, und wir haben uns auf je eine rolle geeinigt. jeder user hat nun noch eine rolle. falls mal einer doch mehrere brauchen wuerde, muesste ich mir was anderes einfallen lassen. dann muesste ich halt in der hide/when formel der rolle eine dritte rolle definieren, dann geht aber dein script nicht mehr. ich weiss jetzt noch nicht genau, wie ich das dann realisieren soll. und ich glaube, das kommt bestimmt. aber egal jetzt.
jetzt hab ich an dich noch zwei fragen:
1.) du schreibst in deinem script:
' Hier können weitere Validierungen stehen
nachdem ich mit script nicht auskenne, muesste ich jetzt GENAU wissen, an welcher stelle ich anfangen und aufhoeren muesste, um bei den einzelnen rollen mehrere felder zu nehmen.
muss ich dann hier:
If RoleEnabled("[orange]") Then
If Source.FieldGetText("customer") = ""
Then Messagebox "enter a customer !!!"
Continue = False
Exit Sub
End If
nochmal ganz von "If Role...." bis zu "End If" alles schreiben? oder nur dazwischendrin was hinzufuegen? koenntest du mir das nochmal gaaanz genau erklaeren?
2.) in der error message steht oben im blauen teil vom fenster kein text drin. wie kann ich da einen kurzen text reinkriegen? sowas wie: fehlermeldung oder so?
danke und gruss,
daniela
Axel:
Hi Daniela
--- Zitat ---
1.) du schreibst in deinem script:
' Hier können weitere Validierungen stehen
--- Ende Zitat ---
Wenn du für eine Rolle weitere Felder prüfen willst braucht dur nur diese vier Zeilen pro zu prüfendes Feld
If Source.FieldGetText("customer") = ""
Then Messagebox "enter a customer !!!"
Continue = False
Exit Sub
Natürlich musst du hier dann den Feldnamen und den Fehlertext anpassen.
Für die Rolle Orange würde das dann so aussehen:
If RoleEnabled("[orange]") Then
If Source.FieldGetText("customer") = "" Then
Messagebox "Feld1 darf nicht leer sein"
Continue = False
Exit Sub
End If
If Source.FieldGetText("weiteres Feld1") = "" Then
Messagebox "enter a customer !!!"
Continue = False
Exit Sub
End If
If Source.FieldGetText("weiteres Feld2") = "" Then
Messagebox "enter a customer !!!"
Continue = False
Exit Sub
End If
' Hier können weitere Validierungen stehen
End If
--- Zitat ---2.) in der error message steht oben im blauen teil vom fenster kein text drin. wie kann ich da einen kurzen text reinkriegen? sowas wie: fehlermeldung oder so?
--- Ende Zitat ---
Für die Messagebox gibt es eine Reihe von Parametern
MessageBox Fehlertext, buttons + icon + default + mode, Titel
Für die Parameter buttons, icon, default, mode kannst du Zahlen einsetzen oder wenn du unter dem (Options)-Abschnitt %Include "LSCONST.LSS" auch Bezeichner eintragen. Das alles hier zu beschreiben wäre zu viel. Schau dafür in der Designerhilfe unter "MessageBox function and statement" nach.
Beispiel: Messagebox "Fehlertext", 16, "Datenbank"
Zeigt die Meldung "Fehlertext" mit einem weißen Kreuz im roten Kreis und dem Text "Datenbank" in der Titelzeile.
Ich hoffe ich habs einigermaßen verständlich formuliert.
Axel
luna:
--- Zitat ---
Für die Rolle Orange würde das dann so aussehen:
If RoleEnabled("[orange]") Then
If Source.FieldGetText("customer") = "" Then
Messagebox "Feld1 darf nicht leer sein"
Continue = False
Exit Sub
End If
If Source.FieldGetText("weiteres Feld1") = "" Then
Messagebox "enter a customer !!!"
Continue = False
Exit Sub
End If
If Source.FieldGetText("weiteres Feld2") = "" Then
Messagebox "enter a customer !!!"
Continue = False
Exit Sub
End If
' Hier können weitere Validierungen stehen
End If
--- Ende Zitat ---
hallo axel,
vielen dank auch dafuer, das hat geklappt, habs gleich ausprobiert. jetzt kommen immer an der richtigen stelle die richtigen fehlermeldungen. super.
--- Zitat ---
Für die Messagebox gibt es eine Reihe von Parametern
MessageBox Fehlertext, buttons + icon + default + mode, Titel
Für die Parameter buttons, icon, default, mode kannst du Zahlen einsetzen oder wenn du unter dem (Options)-Abschnitt %Include "LSCONST.LSS" auch Bezeichner eintragen. Das alles hier zu beschreiben wäre zu viel. Schau dafür in der Designerhilfe unter "MessageBox function and statement" nach.
Beispiel: Messagebox "Fehlertext", 16, "Datenbank"
Zeigt die Meldung "Fehlertext" mit einem weißen Kreuz im roten Kreis und dem Text "Datenbank" in der Titelzeile.
Ich hoffe ich habs einigermaßen verständlich formuliert.
--- Ende Zitat ---
das mit den ganzen % und tralala ist mir eh zu kompliziert. ich hab jetzt einfach dein beispiel mit 16 und text genommen. und das sieht jetzt super aus. hat also auch geklappt. sieht viel schoener aus als vorher !!! so reicht es mir voll und ganz. danke.
und du hast dich uebrigens SEHR verstaendlich ausgedrueckt !!!
so, und nun noch eine frage:
ich hab in dem script eine zeile drin, die muesste mir 2 felder abfragen, und zwar die:
If Source.FieldGetText("mail_sent_3") = "" Then
Messagebox "send document to next or close document with close button !!!"
Continue = False
Exit Sub
End If
da sollte jetzt stehen: wenn mail_sent_3 oder mail_sent_2 leer ist, dann mach den fehler. wenn eins der beiden felder einen inhalt hat, dann nicht.
geht das ueberhaupt? weil in diesem stadium wird der call entweder geschlossen (mail_sent_2) oder er geht eine stufe weiter zu pink (mail_sent_3).
falls das nicht geht mit oder, dann muessten wir uns halt was anderes einfallen lassen.
ich bin jetzt 3 tage nicht da (auf lotus script schulung, hoffentlich hilfts was), also pressiert das nicht.
vielen vielen lieben herzlichen dank inzwischen fuer deine geduldige hilfe,
gruss,
daniela ;D
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln