WordPress REST API validation

时间:2018-03-29 作者:AndyW

我想验证发送到终点的数据。

https://www.shawnhooper.ca/2017/02/15/wp-rest-secrets-found-reading-core-code/这篇文章引用了未记录的验证选项。我已经得到了我所需要的90%,但现在需要验证一个字符串长度,我似乎无法弄清楚。

基本上,我需要说最大长度是X。我尝试了“maxLength”,但这不起作用。有没有人做过这个或者做得更好,还有没有关于这个的文档,我发现的帖子很旧。

            \'args\' => array(
                \'external_id\' => array(
                    \'required\'      => true,
                    \'type\'          => \'string\',
                    \'description\'   => \'external id\',
                    \'maxLength\'     => 10
                )
            )
谢谢,安迪

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

没有这样的maxLength WP REST API中的选项。

你可以通过validate_callback 虽然示例:

<?php
add_action( \'rest_api_init\', function () {
    register_rest_route( \'myplugin/v1\', \'/author/(?P<id>\\d+)\', array(
        \'methods\' => \'GET\',
        \'callback\' => \'my_awesome_func\',
        \'args\' => array(
            \'id\' => array(
                \'validate_callback\' => function($param, $request, $key) {
                    return is_numeric( $param );
                }
            ),
        ),
    ) );
} );
资料来源:https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/

结束

相关推荐

jQuery AJAX form validation

我正在尝试为我的站点创建一个自定义登录页面,即http://localhost/site/login, 我现在遇到的问题是,当用户尝试登录并输入错误的用户名或密码时,他们会被重定向到wp-login.php 您可以想象,这是一个有问题的页面,因此我想将AJAX表单验证添加到我的自定义表单中,但问题是我不确定如何以最佳方式进行验证。如何使用jQuery AJAX验证用户?这就是我迄今为止所做的:jQuery:$(\'#selector\').live(\'click\', function(){