Validation 冷聚变
我不熟悉ColdFusion。我正在尝试做一些表单字段验证。但是,如果Validation 冷聚变,validation,coldfusion,Validation,Coldfusion,我不熟悉ColdFusion。我正在尝试做一些表单字段验证。但是,如果form.name和form.address字段为空,我的CFIF似乎不起作用 这是我的密码: <cfif IsDefined("form.name")> <cfif IsDefined("form.address")> Your shipping address is:<br> <cfou
form.name
和form.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>
您的送货地址是:
#表单名称#
#表格地址#
#形式.状态#
#表格.发货#
#表格.小册子#
您没有输入地址。
您没有输入名称。
您仅检查字段是否存在。文本输入字段将始终存在于提交的表单变量中,即使它们为空。您还需要检查字段值是否不是空字符串。此外,您应该考虑使用StuttKeIsgsIsHes()而不是ISDealDeD(),因为它更精确,并且在某些情况下性能更好。所以你可以试试:
这将检查“name”表单字段是否到达表单作用域,以及该变量中的值是否至少为一个字符(空格除外) > P>您还可以考虑使用JavaScript或jQuery检查空白字段或缺失输入,在用户离开页面之前通知用户被认为是礼貌的。 < P>与卡尔的回答类似的备选方案是
我认为如果您提交的是表单集,那么字段必须存在,因此检查字段是否存在是不必要的
<cfif (form.name IS "") OR (form.address IS "")>
We need your name and address to ship your item(s).
<cfelse>
Your shipping address is:<br>
<cfoutput>
#form.name#<br>
#form.address#<br>
#form.state#<br>
#form.shipping#<br>
#form.brochure#<br>
</cfoutput>
</cfif>
我们需要您的姓名和地址来运送您的物品。
您的送货地址是:
#表单名称#
#表格地址#
#形式.状态#
#表格.发货#
#表格.小册子#
小问题,但我从未使用过表格。变量的一部分,数据库写入除外。True。然而,问题是关于服务器端验证(而不是客户端)。因此,上述内容实际上是一个评论,而不是一个答案。(我知道你不能,仅供参考)。正如Carl所写,只要你100%确定你在结构中寻找变量,就可以使用StructKeyExists而不是IsDefined(幸运的是变量作用域是结构)。第一个函数只在提到的作用域中查找特定的键,而IsDefined将在所有作用域中查找它。这非常慢,我的朋友,当您要比较字符串时,我建议您在有两个字符串要比较时使用LEN()或CompareNoCase()。CompareNoCase使用HEGEX进行比较,速度非常快!我最好的