0

codecanyon から Quform wordpress プラグインを購入しました。プラグインは素晴らしいです-ここに示すように、フォームのカスタムバリデーターを作成できますhttp://support.themecatcher.net/quform-wordpress/guides/customization/creating-a-custom-validator

ただし、上記の例では、単一の値に対する検証のみを扱っています。500個持っていたらどうしますか?

これは私が持っているコードです。

function custom_validator($valid, $value, $element, $rcnumber)
{
    $rcnumber = array('103184','104351','104359','103912','104389','104400','100505','102180','103530','104455','79162','74233','26451','75140','289752','101785','103141','26646','103178','100567','75159','103744','103244','78557','103330','102602'<500 numbers....>,);

    if ($value != $rcnumber) {
        $element->addError('Invalid RC Number');
        $valid = false;
    }
    return $valid;
}
add_filter('iphorm_element_valid_iphorm_14_11', 'custom_validator', 10, 3);

このコードの問題は、rcnumber フィールドに入力した値に関係なく、rcnubmer 配列にリストされている 500 の数値であっても、「無効な RC 番号」エラーが発生し続けることです。私は何を間違っていますか?ありがとうございました!

4

1 に答える 1

0

ここで何を取得したいのかわかりませんが、配列に値が存在するかどうかを確認したいようです。

これを試して:

if (!in_array($value, $rcnumber))

それ以外の:

if ($value != $rcnumber)

in_array 関数は配列内の値を探します。現在のコードは、 $value が指定された配列と異なるかどうかを確認します。

于 2013-10-16T20:12:16.397 に答える