Ich habe dieses Formular mit allen Arten von Mitarbeiter-Zertifizierungen, ich muss ein Datum eingeben. Manchmal wird dieses Datum Monate in der Zukunft sein, zu anderen Zeiten ist das Datum nicht definiert, null.Coldfusion: Umgang mit Null-Werten im Datumsfeld
Jedes Mal, wenn ich versuche, einen Nullwert zu meinem CFC zu passieren, habe ich immer eine Fehlermeldung erhalten, die wie folgt aussieht:
Das CPRADULTEXP Argument an die Funktion übergeben addEmployee ist nicht vom Typ Datum.
Mein Formular Code:
<!--- If null, set a default if not, set the default to database default --->
<cfif not isDefined("certificationsList.cprAdultExp")>
<cfinput type="datefield" required="no" name="cprAdultExp" value="" >
<cfelse>
<cfinput type="datefield" required="no" name="cprAdultExp" value="#dateformat(certificationsList.cprAdultExp, "mm/dd/yyyy")#" >
</cfif>
Formular Prozessor:
<!--- Is the date defined? --->
<cfif len(Trim("form.cprAdultExp")) EQ 0>
<cfinvokeargument name="cprAdultExp" value="#CreateODBCDate(Form.cprAdultExp)#">
<cfelse>
<cfinvokeargument name="cprAdultExp" value="">
</cfif>
jetzt ist es, dass die Null-Wert vorbei, wird die Datenbank eingestellt nulls zu handhaben/nehmen.
Wie kann ich reparieren?
Eine leere Zeichenfolge "" ist kein gültiges Datum. Machen Sie das Argument cffunction optional und übergeben Sie nichts, wenn form.cprAdultExp * kein * Datum ist. – Leigh
Wird der Fehler von CF (beim Verschieben in die Funktionen) oder von SQL (beim Einfügen, nachdem er von der Funktion verarbeitet wurde) ausgegeben? –