0

我需要验证 X 个字段。每个字段都被命名为“testFieldX”,其中 X 是任何大于 1 的实数。

所以基本上我在表单中拥有的是带有名称的字段:

testField1
testField2
testField3

等等

我需要遍历所有这些并进行验证。

假设我有 5 个字段。

然后

<cfloop index="i" from="1" to="5">
    <cfif form.testField & i EQ "">
        Show error
    </cfif>
</cfloop>

但是它不起作用。我收到一个错误,字段名称“testField”不存在,这是真的(只有 testField1+)存在。似乎事情没有串联。它仅适用于字符串吗?

我怎么解决这个问题?

4

2 回答 2

6

你所追求的语法是:

<cfif form["testfield" & i] EQ "">

这将按照您的预期连接字符串。

于 2012-05-05T11:03:53.017 回答
2
<cfif structKeyExists(form,"test1")>
    <cfloop from="1" to="3" index="i">
        <cfif form["test" & i] eq ''>
            Error : <cfoutput>#i#</cfoutput><br />
        </cfif>
    </cfloop>
</cfif>

<form name="sub" method="post">
    Test1: <input type="text" name="test1" id="test1" /><br />
    Test2: <input type="text" name="test2" id="test2" /><br />
    Test3: <input type="text" name="test3" id="test3" /><br />
    <input type="submit" value="Submit" />
</form>
于 2012-05-05T11:05:57.803 回答