我在coldfusion文件中有一个表单,我想放入一个if语句来检查某些字段在发送到存储过程之前是否有文本。因此,检查表单字段的if语句不为null,如果它们是某种文本,则说“请输入数据”......
我想把if语句放在这段代码中......
<CFSTOREDPROC PROCEDURE="InsertOfficeLocation" DATASOURCE="#application.servernamesql02#">
<CFPROCPARAM VALUE="#country#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Country">
<CFPROCPARAM VALUE="#address#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Address">
<CFPROCPARAM VALUE="#address2#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Address2">
<CFPROCPARAM VALUE="#address3#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Address3">
<CFPROCPARAM VALUE="#address4#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Address4">
<CFPROCPARAM VALUE="#city#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@City">
<CFPROCPARAM VALUE="#postcode#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@PostCode">
<CFPROCPARAM VALUE="#receptionnumber#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@ReceptionNumber">
<CFPROCPARAM VALUE="#mainnumber#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@MainNumber">
<CFPROCPARAM VALUE="#faxnumber#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@FaxNumber">
<CFPROCPARAM VALUE="#username#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Username">
<CFPROCPARAM VALUE="#timestamp#" TYPE="IN" CFSQLTYPE="cf_sql_varchar" VARIABLE="@Timestamp">
</CFSTOREDPROC>
答案 0 :(得分:0)
至于您向我们展示的代码以及您如何表达您的问题,您应该只需要执行以下操作:
<cfif len(form.country) AND len(form.address) ...>
<cfstoredproc >...</cfstoredproc>
<cfelse>
Please enter all fields
</cfif>
虽然我可能想做一些比这更好的事情,例如每个字段的不同错误消息。或者使用cfprocparam上的NULL属性来传递空字段的空值。
你也说这些是形式值;最好使用相关范围来定义变量。
PS:当类型为OUT或INOUT时,您只需在variable
上指定<cfprocparam>
属性