<html lang="ja-jp" dir="ltr"><head></head><body>### [wpforms_process_validate_text](https://wpforms.com/developers/wpforms_process_validate_text/)

**公開日:** 2020年10月13日
**著者:** エディトリアルチーム

**抜粋:** wpforms_process_validate_text アクションは、フォーム送信時に <strong>1行テキスト</strong> フォームフィールドの検証を実行します。

**コンテンツ:**

## 説明

`wpforms_process_validate_text` アクションは、フォーム送信時に **1行テキスト** フォームフィールドの検証を実行します。

## パラメータ

$field\_id*(int)* フィールドID.$field\_submit*(array)* フィールドに送信された元の未加工/未サニタイズの値.$form\_data*(array)* 後で使用するために準備された、処理済みのフォーム設定/データ。## ソース

`wpforms/includes/fields/class-base.php`

## 詳細情報

このアクションは、**1行テキスト** フォームフィールド用の配列に適用されます。この関数は、すべてのフォームフィールド `do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data )` で使用できます。

たとえば、これを **メール** フィールドに使用するには、`do_action( wpforms_process_validate_email, $field_id, $field_submit, $form_data )` を使用します。

フィールド値は、`wpforms_process_format_{$field_type}` で後でサニタイズされることに注意することが重要です。

セキュリティ向上のため、JavaScriptだけに頼るのではなく、サーバーサイド検証を使用することを強くお勧めします。 `wpforms_process_validate_{$field_type}` フックを使用して、さまざまなフィールドタイプを検証できます。たとえば、メールフィールドには `wpforms_process_validate_email` を使用します。データがサニタイズされる `wpforms_process_format_{$field_type}` フックの **前** に検証を適用してください。

## 例

このアクションを使用して、フォームを送信する前に検証する必要があるものを **1行テキスト** フィールドでスキャンできます。

この例では、このフィールド内の冒涜的な言葉を検索します。冒涜的な言葉が見つかった場合、フォームにエラーが表示され、送信されません。

```

/*
 * 1行テキストフィールドの冒涜的な言葉をチェックします。
 *
 * @link https://wpforms.com/developers/wpforms_process_validate_text/
 *
 * @param int     $field_id        フィールドID。
 * @param array   $field_submit    フィールドに送信された未サニタイズのフィールド値。
 * @param array   $form_data       フォームデータと設定。
*/

function wpf_dev_profanity_filter_single_text( $field_id, $field_submit, $form_data ) {

    // オプション：特定のフォームに制限できます。以下では、フォームID #1423 の出力に制限しています。
    if ( absint( $form_data[ 'id' ] ) !== 1423 ) {
        return;
    }

    // 冒涜的な言葉のリストをコンマで区切って作成します
    $blocked_words = array( 
        'badword1', 
        'badword2'
    );
 
    foreach( $blocked_words as $word ) {
        if(strpos($field_submit, $word) !== FALSE ) {
            wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( '冒涜的な言葉は許可されていません。', 'wpforms' );
            return;
        }
    }
 
}
 
add_action( 'wpforms_process_validate_text', 'wpf_dev_profanity_filter_single_text', 10, 3 );
```

## 参考記事

- [冒涜的な言葉を含むフォーム送信をブロックする方法](https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/ "冒涜的な言葉を含むフォーム送信をブロックする方法")
- [テキストフィールドからドメインをブロックする方法](https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/ "テキストフィールドからドメインをブロックする方法")

**カテゴリ:** アクションフック

---</body></html>