Domino 9 und frühere Versionen > Entwicklung

Zeilenumbrauch im Text von @prompt

<< < (2/4) > >>

tuxie:
Hast du einen Tip wie ich diese Validierung mit Lotus Scipt mache, habe erst angefangen mich LS zu beschäftigen.

Tschau Ingo

klaussal:
... es fehlen hier noch die ganzen dim's etc.

--- Code: ---'------------- INDEX ------------------------------------------   
If Trim(doc.Index(0)) = "" Then
Msgbox "Bitte geben Sie eine Kategorie ein !",16,"Hinweis !"
Exit Function
End If

--- Ende Code ---
das ganze im querysave des doc.

tuxie:
Dim doc As NotesDocument
    
   Set doc = source.Document
   
    If Trim(doc.fahrzeug_kennz(0)) = "" Then
   Msgbox "Bitte geben Sie eine Kategorie ein !",16,"Hinweis !"
   Exit Function
End If

Ist das so richtig ?

Tschau Ingo

ata:
@Klaussal
... im QuerySAve gibt es dann ein Problem mit dem Exit Function - denn da hast du eine Sub...

... ich validiere am Liebsten vor dem Speichern - also im QuerySave.
... die Liste aller Felder und deren Bezeichnung lege ich in 2 Arrays ab
... diese beiden Listen arbeite ich dann in einer Funktion ab
... die Rückgabe der Funktion ist ein String
... ... der String ist leer, wenn keine Fehler gefunden wurden
... ... ansonsten enthält er die Liste der Feldbezeichnungen, die leer waren
... in der Funktion wird eine Variable iFirst den Index des ersten falschen Feldes angeben - zu diesem Feld wird nach Abbruch der Speicherung der Cursor geführt.


--- Code: ---' Den folgenden Code ins QuerySave der Maske

   Dim docThis As NotesDocument
   Dim sField( 0 To 1 ) As String
   Dim sFName( 0 To 1 ) As String
   Dim sResult As String
   Dim iFirst As Integer
   
   sField( 0 ) = "Subject"
   sFName( 0 ) = "Betreff"
   
   sField( 1 ) = "SendTo"
   sFName( 1 ) = "Empfänger"
   
   Set docThis = Source.Document
   sResult = ValidateFields( docThis , sField , sFName , iFirst )
   If sResult = "" Then
      Print "... alles in bester Ordnung ausgefüllt"
   Else
      Msgbox sResult , 0 , "Abbruch der Speicherung"
      ws.CurrentDocument.GoToField( sField( iFirst ) )
      Continue = False
   End If

Function ValidateFields( docThis As NotesDocument, vField As Variant , vFName As Variant , iFirst As Integer) As String
   Dim vValue As Variant
   Dim i As Integer
' # Validierung der Feldinhalte im Backend
   iFirst = -1
   If Not docThis Is Nothing Then
      If Isarray( vField ) And Isarray( vFName )  Then
         If Ubound( vField) = Ubound( vFName ) And Lbound( vField) = Lbound( vFName ) Then
            For i = Lbound( vField ) To Ubound( vField )
               vValue = docThis.GetItemValue( vField( i ) )
               If Trim( vValue( 0 ) ) = "" Then
                  ValidateFields = ValidateFields + vFName( i ) + Chr(10)
                  If iFirst = -1 Then
                     iFirst = i
                  End If
               End If
            Next
            If ValidateFields <> "" Then
               ValidateFields = "Folgende Felder enthielten keine Werte:" + Chr(10) + Chr(10) + ValidateFields + Chr(10) + Chr(10) + "Bitte geben Sie in diesen Feldern etwas ein"
            End If
         End If
      End If
   End If
End Function

--- Ende Code ---

... das wäre mal so ein kleiner Rund-Um-Schlag...

ata

tuxie:
Kann ich jetzt sfield und sfname einfache erweitern?,
Und kann ich dann in meiner Aktion einfach @command([FileSave]) aufrufen oder wie wird gespeichert ??

TSchau Ingo

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln