3

I have added a custom field to user profiles in bbPress however I am unsure how to do form validation other than javascript. I would like to do some PHP validation however the few things I have tried didn't work.

If you fail to enter an email it will say "ERROR: Please enter an e-mail address." after you have submitted the form. I want something like that.

I have tried:

$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' ) );

I am not at all familiar with error handling in both WordPress and bbPress however I feel it is a must.

Any help would be must appreciated.

Rambomst
  • 653
  • 2
  • 10
  • 28

1 Answers1

5

I worked it out.

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");
    }
}
Rambomst
  • 653
  • 2
  • 10
  • 28