Warning
Work in Progress: This plugin is currently in development and not yet ready for production use.
Outstand Forms is a WordPress plugin for building forms using the Block Editor. It leverages the Interactivity API and provides features like field validation, input masking, and a clean UI built for usability and accessibility.
- Fully block-based form builder.
- Dynamic validation using JavaScript.
- Field-level validation messages.
- Input mask support via Inputmask.
- Accessible markup with proper
aria
attributes. - Lightweight and extensible.
- PHP 7.4+
- WordPress 6.5
- Download the plugin ZIP file from the GitHub repository.
- Go to Plugins > Add New > Upload Plugin in your WordPress admin area.
- Upload the ZIP file and click Install Now.
- Activate the plugin.
To include this plugin as a dependency in your Composer-managed WordPress project:
- Add the plugin to your project using the following command:
composer require s3rgiosan/outstand-forms
- Run
composer install
to install the plugin. - Activate the plugin from your WordPress admin area or using WP-CLI.
- Add a new form using the Outstand Forms block.
- Use the available field blocks (e.g., Text, Email, Textarea, Submit) inside the form.
- Configure each field via the block sidebar: labels, help text, validation rules, etc.
- Preview the form and submit — validation will run automatically.
- Customize styles using your theme or custom CSS.
To enable input masking:
- Add a mask string to the Mask field in the block settings.
- Internally powered by the Inputmask library.
- Only loaded when an input mask is defined.
Example:
"inputmask": "999-999-9999"
You can style forms using your theme’s styles or add custom styles targeting the .osf-form
, .osf-field
, and .osf-field__input
classes.
Override or extend the default validation messages passed to the Interactivity API:
add_filter( 'osf_validation_messages', function( $messages, $form_id ) {
$messages['required'] = 'Custom required message.';
return $messages;
}, 10, 2 );
A complete listing of all notable changes to this project are documented in CHANGELOG.md.