ColdFusion中form.fieldnames缺少值

时间:2009-02-26 19:37:09

标签: coldfusion

我一定是在失去理智。

<cfif cgi.request_method eq "POST">
    <cfoutput>
        Form.fieldnames = #form.fieldnames#<br>
        structKeyList(form) = #structKeyList(form)#
    </cfoutput>
</cfif>

<form  method="post" accept-charset="utf-8">

    <input type="text" name="graduation_date" value="x"><br>
    <input type="text" name="foo" value="y"><br>
    <input type="text" name="bar" value="z"><br>

    <input type="submit" value="Submit Form" >

</form>

form.fieldnames变量应包含已提交字段的列表:foobargraduation_date。但graduation_date遗失了。

经过多一点测试后,我发现以_date结尾的任何内容都被排除在form.fieldnames之外。

我打算问我的代码有什么问题,但现在我已经确信它是ColdFusion中的一个错误。 (我在使用ColdFusion 8.0.1 / OS X 10.5.6。)

这是ColdFusion中的一个错误,对吧?

2 个答案:

答案 0 :(得分:15)

也许这是custom validation feature(又名“使用隐藏字段验证表单数据”)?

基本上,通过使用一些特定格式的表单字段(field_requiredfield_datefield_integer等),您可以对表单执行服务器端验证。

这可以追溯到几个版本的ColdFusion,当CFFORM不是非常强大时,可以让你不必为每个表单字段编写验证代码。现在有更好的方法可以实现这一点,但它仍然存在向后兼容性。

答案 1 :(得分:0)

是的,我和ColdFusion 8一起遇到了这个小问题。我几乎已经准备好对我的服务器进行飞行测试,试图弄清楚为什么一个名为“asof_date”的文本框没有被执行,也没有出现在FIELDNAMES字段中在我发布的数据中(这解释了为什么它被忽略)。我称之为正交性方面的错误。一旦我将名称更改为“pub_asof”,它就可以正常工作。哎呀!!