WP Manifestindependent plugin directory
manifest / developer / wp-rest-api-validate

WordPress REST API Validate

Laravel Validation for WordPress REST API Plugin

★ 3stars
24release downloads
v1.0.0latest · 3 years ago

Install

Download wp-rest-api-validate.zip From the v1.0.0 release on GitHub, Apr 26, 2023

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/mehrshaddarzi/wp-rest-api-validate/releases/download/v1.0.0/wp-rest-api-validate.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Laravel Validation for WordPress REST API Plugin

Professional validation argument for WordPress REST API

Table of Contents

Installation

Download zip file and install plugin in your WordPress site.

How to use in register_rest_route

You Can add validate parameter in register_rest_route function:

add_action('rest_api_init', 'register_routes');
function register_routes()
{

    register_rest_route(
        'v1',
        'book/add',
        array(
            'methods' => \WP_REST_Server::CREATABLE,
            'callback' => 'callback_function_name',
            'permission_callback' => '__return_true',
            'args' => [
                'isbn' => [
                    'title' => __('Book ISBN'),
                    'validate' => ['required', 'min:5']
                ],
                'image' => [
                    'title' => __('screenshot'),
                    'validate' => ['file', 'mimes:jpg,png']
                ],
                'meta' => [
                    'title' => __('meta'),
                    'validate' => 'required|array|min:3'
                ],
                'author' => [
                    'title' => __('Author Book'),
                    'validate' => ['required', function ($attribute, $value, $fail) {
                        if (strlen($value) < 10) {
                            $fail("Show Error in closure-based Validation");
                        }
                    }]
                ]
            ]
        )
    );
}

List of Laravel Validation

All laravel validation Rules are available in this plugin:

https://laravel.com/docs/10.x/validation#available-validation-rules

List of WordPress Hooks

Use custom parameter key in your code

apply_filters('wp_rest_api_validate_args_key', 'validate');

Use custom language (default is WordPress locale)

apply_filters('wp_rest_api_validate_locale', get_locale());

Change validation language dir

apply_filters('wp_rest_api_validate_lang_dir', dirname(__FILE__) . '/lang');

Pre Validation Start

use for disable or add custom condition by request:

apply_filters('wp_rest_api_validate_pre', 
    null, 
    \WP_REST_Response $response, 
    \WP_REST_Request $request, 
    $handler
);

Contributing

We appreciate you taking the initiative to contribute to this project. Contributing isn’t limited to just code. We encourage you to contribute in the way that best fits your abilities, by writing tutorials, giving a demo at your local meetup, helping other users with their support questions, or revising our documentation.

License

The wp-rest-api-validate is open-sourced software licensed under the MIT license.

Releases

1 release. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.0.0 latest
Apr 26, 2023 3 years ago
wp-rest-api-validate.zip
24