3

bbPress のユーザー プロファイルにカスタム フィールドを追加しましたが、javascript 以外のフォーム検証を行う方法がわかりません。PHP の検証を行いたいのですが、私が試したいくつかのことはうまくいきませんでした。

メールアドレスの入力に失敗すると、「エラー: メールアドレスを入力してください」と表示されます。フォームを送信した後。私はそのようなものが欲しいです。

私が試してみました:

$myErrors = new WP_Error();
$myErrors->add('id_error', __('Test error.',""));

bbp_add_error( 'bbp_steamid_invalid', __( '<strong>ERROR</strong>: The ID you entered is invalid.', 'bbpress' ) );

WordPress と bbPress の両方でのエラー処理にはまったく慣れていませんが、必須だと感じています。

どんな助けでも感謝しなければなりません。

4

1 に答える 1

5

私はそれを解決しました。

add_action( 'user_profile_update_errors', 'validate_steamid_field' );

function validate_steamid_field(&$errors, $update = null, &$user  = null)
{
    if (!preg_match("/^STEAM_[0-5]:[01]:\d+$/", $_POST['_bbp_steamid']))
    {
        $errors->add('empty_steamid', "<strong>ERROR</strong>: Please Enter a valid SteamID");
    }
}
于 2012-03-14T21:44:37.960 に答える