Domino 9 und frühere Versionen > Entwicklung
Textfelder begrenzen
Joker:
Hi,
gibt es eine Möglichkeit, ein Textfeld auf eine bestimmte Anzahl an Zeichen (z.B. max 40 Zeichen) zu begrenzen ?
Gruss
Martin
Performance:
nein, nicht direkt aber mit @Left() oder @Length() kann in der Validierung des Feldes dei Überprüfung stattfinden.
cu
mgeidl:
Hallo zusammen!
Ich hab im Querysave folgenden Script, der verschiedene Felder auf ausgefüllt oder nicht, bzw. auf die Feldlänge überprüft:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim workspace As New NotesUIWorkspace
Dim doc As NotesDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Set doc = source.Document
Call source.refresh()
If doc.Fachbereich(0) = "" Then
NoValueBox "Sie haben keinen Fachbereich ausgewählt !"
source.GotoField("Fachbereich")
Goto ExitOnError
End If
If doc.TitelHeadline(0) = "" Then
NoValueBox "Sie haben keine Überschrift eingetragen!"
source.GotoField("TitelHeadline")
Goto ExitOnError
End If
Dim theString As String
theString$ = doc.TitelHeadline(0)
'Abfangen von langen Überschriften
If Len(theString$) > 25 Then
NoValueBox "Die Überschrift darf nicht länger sein als 25 Zeichen!"
source.GotoField("TitelHeadline")
Goto ExitOnError
End If
If doc.TitelSubline(0) = "" Then
NoValueBox "Beschreiben Sie bitte Ihren News-Eintrag unter Kurzbeschreibung !"
source.GotoField("TitelSubline")
Goto ExitOnError
End If
Dim theString2 As String
theString2$ = doc.TitelSubline(0)
'Abfangen von langen Überschriften
If Len(theString2$) > 100 Then
NoValueBox "Die Kurzbeschreibung darf nicht länger sein als 100 Zeichen!"
source.GotoField("TitelSubline")
Goto ExitOnError
End If
' If doc.Inhalt(0) = "" Then
' NoValueBox "Es wurde kein Inhalt für Ihre News eingegeben!"
' source.GotoField("Inhalt")
' Goto ExitOnError
' End If
If doc.AktivStatus(0) = "1" Then
doc.DeleteDate = Date$
End If
Call db.UpdateFTIndex( False )
Call source.refresh()
Exit Sub
ExitOnError:
continue=False
End Sub
ata:
... wie willst du den Ablauf den haben?
... sollen nur 40 Zeichen verwendet werden?
... => In der Eingabeumsetzung:
@Left("Feldname" ; 40)
... soll beim Verlasen des feldes ein Hinweis erscheinen, so daß der User es sofort korrigieren muß?
... => Eingabevalidierung
@If( Length("Feldname") > 40 ; @Failure("Sie haben mehr als 40 zeichen verwendet. Bitte korrigieren Sie...") ; @Success);
... soll erst beim Speichern eine Meldung erscheinen, dann muß entsprechender Code im QuerySave der Maske hinterlegt werden...
ata
doliman:
Hi ata,
haste mal probiert, was passiert wenn Du nur eine Eingabevalidierung hast, der Benutzer aber nicht das Feld verlässt und speichert?!?
Zumindest hatte ich das schon mal. und schwup di wup kann der User speichern ohne dass die Feldvalidierung zuschlägt.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln