Wordpress-用户配置文件编辑的表单验证


Wordpress - Form validation on user profile edit

我已经在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中的错误处理,但我觉得这是必须的。

任何帮助都将不胜感激。

我解决了。

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");
    }
}