Seite 1 von 1

Prüfungen vor dem Datensatz-Speichern

Verfasst: Di, 06.07.2010 17:21
von Daimonion
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.

Re: Prüfungen vor dem Datensatz-Speichern

Verfasst: Sa, 10.07.2010 15:21
von komma4
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.

Re: Prüfungen vor dem Datensatz-Speichern

Verfasst: Sa, 10.07.2010 17:17
von komma4
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

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