-5

配列名を持つ多数の入力ボックスを検証しようとしています。今回はphpにある検証スクリプトを使用しています。( http://www.html-form-guide.com/php-form/php-form-validation.html )

< form name="form1" action="page1.php" method="POST"><br/>
<br>
< input type=text name="value[]" /><br/>
< input type="text" name="value[]" /><br/>
< input type="text" name="value[]" /><br/>
<br/>
 < input type="submit" name=""/>
<br/><br/>
< /form>

検証スクリプトを読みましたが、配列の検証を見つけることができません。その仕組みを誰でも提案できます。

4

1 に答える 1

1

一見すると、検証クラスは値の配列をサポートしていません。ただし、絶望しないでください。それを回避する方法があります。(簡単な方法は、そのクラスを捨てて、他のよりオープンな代替案を優先することです)。

次の 3 つの選択肢があります。

  1. 配列を許可するコードを捨てる
  2. 検証クラスの一部を書き直して、参照によって配列を渡すことができるようにします
  3. 浮気。

オプション 3 について説明します。ほとんど知られていない事実があります。それは、_POST が単なる読み取り専用ではなく読み取り/書き込みであるということです。これは非常に悪い習慣ですが、この例ではうまくいきます。配列を反復処理し、それらすべてに新しい名前を再割り当てする必要があります...次に、それらの名前に対して検証を実行します。

生意気な修正ですが、コードを捨てる必要がなくなります。ただし、これを複数回使用する予定がある場合は、5 分かけて解決策 1 または 2 を実装することを強くお勧めします。

于 2012-11-18T12:20:24.220 に答える