如何验证在元框中输入的数据,以便只能在字段中输入浮点数?

时间:2012-04-26 作者:Nicola Peluchetti

我们的插件中有一个自定义的帖子类型,现在我必须为用户提供一个元框,用户可以在其中输入纬度和经度。我希望它们是浮动的,我在客户端验证方面没有问题,但我不知道应该如何在wordpress中处理服务器端验证。

我以为有一些API可以实现这一点,但事实并非如此,所以我只是想知道如何处理save函数中的事情。

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

如果这不是一个一般的php问题,就不要问舒尔。。。

使用WP_Error

// http://php.net/manual/de/function.is-float.php
// http://php.net/manual/de/function.is-int.php
// inside your save_post/update_post hooks callback function,
// just type cast to float. You could also do a check if it contains non numeric chars
// and then simply return;
$check = ! is_float( $value ) OR ! is_int( $value ) ? new WP_Error( \'wrong value\', __(" I\'ve fallen and can\'t get up", \'YOUR_TEXTDOMAIN_STRING\' ), $value ) : $value;
在函数结束时,检查是否有错误。要提供有意义的错误消息,请使用jQuery:

if ( is_wp_error( $check ) )
{
    $code = $check->get_error_code();
    $msg = $check->get_error_message();
    // Maybe multiple? You\'ll have to loop through them
    $msgs = $check->get_error_messages();

    echo "<script type=\'text/javascript\'>
         var error = \'<div id=\\"message\\" class=\\"updated below-h2\\"><p><strong>{$code}</strong> {$msg}</p></div>\';
         // Append the error
         jQuery( \'#icon-edit\' ).after( error );
    </script>";
}

结束

相关推荐

Comment form validation

如何设置注释字段的验证规则?我更改了评论者姓名/电子邮件/主页onmouseover和onblur的值(我使用它而不是标签-因此如果字段为空,它会显示“您的电子邮件”、“您的主页”等)。问题是,在提交时,它会在主页字段中提交此文本(因为它没有验证,而不像电子邮件字段,如果您输入了除something@something.something).如何验证主页字段?