ColdFusion CFIF

dra*_*354 2 validation coldfusion

我是ColdFusion的新手.我正在尝试进行一些表单字段验证.但是,如果form.nameform.address字段为空,我的CFIF似乎不起作用.

这是我的代码:

         <cfif IsDefined("form.name")>
           <cfif IsDefined("form.address")>
              Your shipping address is:<br>
              <cfoutput>
                 #form.name#<br>
                 #form.address#<br>
                 #form.state#<br>
                 #form.shipping#<br>
                 #form.brochure#<br>
              </cfoutput>

           <cfelse>
              You did not enter an address.
           </cfif>   
         <cfelse>
              You did not enter a name.
         </cfif>  
Run Code Online (Sandbox Code Playgroud)

Car*_*ten 15

您只检查字段是否存在.文本输入字段将始终存在于提交的表单变量中,即使它们为空.您还需要检查字段值是否为空字符串.此外,您应该考虑使用StructKeyExists()而不是IsDefined(),因为它更精确,在某些情况下表现更好.所以你可以尝试:

<cfif StructKeyExists(form, "name") AND Len(Trim(form.name))>

这将检查"名称"表单字段是否到达FORM范围,并且该变量中的值是否至少是一个空格以外的字符.