Moderation,4: Fortsetzung des Threads Button mit mehreren Aktionen programmieren
Danke für die Antwort.
Was ich wie geprüft haben möchte:
Die Felder sind ja Strings (Bis vielleicht auf das Kalender/Datumsfeld)
Ich möchte zum einen prüfen ob in jedem Feld was drin steht (String.length >0 ) und zum anderen, dass in dem Feld für einen Http Link auch wirklich ein HTTP Link steht (kann ich reguläre Ausdrücke in OO-Base verwenden?). Weiterhin sollte dann im Feld Datum natürlich ein gültiges Datum zu prüfen sein.
Wenn ich mal mehr in dem Skripting drin bin, werde ich vielleicht noch so Dinge einbauen, mit dem Überprüft wird, ob ein ähnlicher Eintrag schon in der DB existiert, aber das möchte ich zunächst mal hinten an stellen.
Prüfungen vor dem Datensatz-Speichern
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Prüfungen vor dem Datensatz-Speichern
Daimonion hat geschrieben:Was ich wie geprüft haben möchte:
Die Felder sind ja Strings (Bis vielleicht auf das Kalender/Datumsfeld)
Ich möchte zum einen prüfen ob in jedem Feld was drin steht (String.length >0 ) und zum anderen, dass in dem Feld für einen Http Link auch wirklich ein HTTP Link steht (kann ich reguläre Ausdrücke in OO-Base verwenden?). Weiterhin sollte dann im Feld Datum natürlich ein gültiges Datum zu prüfen sein.
Den Zwang zu einer Eingabe in einem Textfeld kann mit der Datenbank erreicht werden (CONSTRAINT).
Das hast Du in Deiner Filmdatenbank.odb für „Titel“ schon gemacht [Eingabe erforderlich=Ja].
Ein Kontrollfeld vom Typ DATUM (gebunden an „Hinzugefügt“) akzeptiert von Haus aus nur gültige Werte.
HTTP-Link: hier kann beim Ereignis "Modifiziert" des Kontrollfelds eine Routine aufgerufen werden, welche die Syntax prüft. Voraussichtlich kann ich noch während des laufenden Wochenendes ein Codefragment beisteuern.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Prüfungen vor dem Datensatz-Speichern
Habe mal kurz was gebastelt.
Die FUNCTION in einem Modul des Formulars speichern und an das Ereignis MODIFIZIERT des Eingabefeldes "IMDB" Deines Formulars hängen
Es werden noch nicht alle Fehleingaben abgefragt (bspw. http://x wird akzeptiert) - aber vielleicht reicht Dir das schon?
Suchbegriffe für die Forensuche: validation, Eingabeprüfung, Formular, URL
Die FUNCTION in einem Modul des Formulars speichern und an das Ereignis MODIFIZIERT des Eingabefeldes "IMDB" Deines Formulars hängen
Code: Alles auswählen
Function de39959( oEvent as Object )
' Version 1 2010-07-10
'
' Prüfung der Eingaben eines Formulars
sMakroName = "de39959"
If oEvent.Source.Text = "" Then
de39959 = TRUE
Exit Function
End If
' benötigter Service und Struktur
URLService = createUnoService( "com.sun.star.util.URLTransformer" )
URLStruktur = createUnoStruct( "com.sun.star.util.URL" )
' Eingabetext
URLStruktur.Complete = oEvent.Source.Text
If URLService.parseStrict( URLStruktur ) = TRUE Then
'MsgBox URLService.getPresentation( URLStruktur, FALSE )
de39959 = TRUE
Else
MsgBox "Die Eingabe wurde nicht als gültige URL erkannt" & _
CHR(10) & _
oEvent.Source.Text, _
16, sMakroName
de39959 = FALSE
Endif
End Function
Es werden noch nicht alle Fehleingaben abgefragt (bspw. http://x wird akzeptiert) - aber vielleicht reicht Dir das schon?
Suchbegriffe für die Forensuche: validation, Eingabeprüfung, Formular, URL
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)