Domino 9 und frühere Versionen > Entwicklung

input validation feld voll feld leer

<< < (4/5) > >>

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