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」が存在しないというエラーが表示されますが、これは true (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 に答える