{"id":317102,"date":"2026-06-09T11:42:39","date_gmt":"2026-06-09T11:42:39","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/required-checkbox-validation-for-elementor\/"},"modified":"2026-06-09T11:41:53","modified_gmt":"2026-06-09T11:41:53","slug":"required-checkbox-validation-for-elementor","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/required-checkbox-validation-for-elementor\/","author":21025295,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Required Checkbox Validation for Elementor","header_author":"Bilal Kaimkhani","header_description":"Make Elementor Pro checkbox fields required. Adds a \"Required (at least one)\" toggle that blocks form submission until at least one checkbox is selected \u2014 with both client-side and server-side validation.","assets_banners_color":"0c0e16","last_updated":"2026-06-09 11:41:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/required-checkbox-validation-for-elementor\/","header_author_uri":"https:\/\/github.com\/bilalkk9","rating":0,"author_block_rating":0,"active_installs":0,"downloads":31,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"mbilalkk","date":"2026-06-09 11:41:53"}},"upgrade_notice":{"1.0.0":"<p>Initial release \u2014 no upgrade steps required.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3565924,"resolution":"256x256","location":"assets","locale":"","width":1254,"height":1254}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3565924,"resolution":"772x250","location":"assets","locale":"","width":1774,"height":887}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The <strong>Required (at least one)<\/strong> toggle inside the Elementor Pro form field settings \u2014 visible only when the field type is Checkbox.","2":"The inline client-side error message displayed below the checkbox group when the user tries to submit without selecting any option."}},"plugin_section":[],"plugin_tags":[5578,76538,601,4626,724],"plugin_category":[42],"plugin_contributors":[266306],"plugin_business_model":[],"class_list":["post-317102","plugin","type-plugin","status-publish","hentry","plugin_tags-checkbox","plugin_tags-elementor","plugin_tags-forms","plugin_tags-required","plugin_tags-validation","plugin_category-contact-forms","plugin_contributors-mbilalkk","plugin_committers-mbilalkk"],"banners":{"banner":"https:\/\/ps.w.org\/required-checkbox-validation-for-elementor\/assets\/banner-772x250.png?rev=3565924","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/required-checkbox-validation-for-elementor\/assets\/icon-256x256.png?rev=3565924","icon_2x":"https:\/\/ps.w.org\/required-checkbox-validation-for-elementor\/assets\/icon-256x256.png?rev=3565924","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Required Checkbox Validation for Elementor<\/strong> is the missing piece in Elementor Pro's Form widget: the ability to make a <strong>checkbox field required<\/strong>.<\/p>\n\n<p>Out of the box, Elementor Pro lets you mark text fields, email fields, and dropdowns as required \u2014 but <strong>there is no built-in required option for checkbox fields<\/strong>. This plugin fixes that gap with a single, clean toggle.<\/p>\n\n<p>Enable the toggle on any checkbox field inside the Elementor Pro form editor, and the form will refuse to submit until at least one option is checked. Validation runs on both the <strong>client side<\/strong> (instant feedback before the AJAX request) and the <strong>server side<\/strong> (no bypass possible).<\/p>\n\n<h4>The problem this plugin solves<\/h4>\n\n<p>Imagine you have a consent form, a subscription preference form, or a survey with a checkbox group. You need users to select at least one option before the form can be submitted. With vanilla Elementor Pro, that is not possible \u2014 the checkbox field simply has no \"required\" setting. Every workaround (custom JavaScript, third-party form plugins, complex Elementor add-ons) introduces bloat, maintenance overhead, or layout conflicts.<\/p>\n\n<p>This plugin solves the problem with <strong>zero configuration<\/strong> and <strong>zero bloat<\/strong>:<\/p>\n\n<ul>\n<li>Install \u2192 Activate \u2192 Open your form \u2192 Toggle on.<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>\u2705 <strong>Required toggle in the editor<\/strong> \u2014 a native-looking on\/off switcher appears inside the form field settings, visible only for checkbox-type fields.<\/li>\n<li>\u2705 <strong>Client-side validation<\/strong> \u2014 shows an inline error message instantly when a user tries to submit without selecting anything, before any network request is made.<\/li>\n<li>\u2705 <strong>Server-side validation<\/strong> \u2014 a server-side guard ensures the requirement is enforced even if JavaScript is disabled or bypassed.<\/li>\n<li>\u2705 <strong>Works with multiple checkbox fields<\/strong> \u2014 each checkbox field in a form is validated independently, so you can mix required and optional checkbox groups.<\/li>\n<li>\u2705 <strong>Performance-first<\/strong> \u2014 the front-end CSS and JavaScript files are only loaded on pages that actually contain a form with at least one required checkbox. No extra load on any other page.<\/li>\n<li>\u2705 <strong>Translation-ready<\/strong> \u2014 all user-facing strings are internationalised and ready for translation via translate.wordpress.org.<\/li>\n<li>\u2705 <strong>No settings page<\/strong> \u2014 nothing to configure. The toggle is right where you need it: inside the Elementor editor.<\/li>\n<li>\u2705 <strong>Graceful dependency checks<\/strong> \u2014 if Elementor or Elementor Pro is not active, a clear admin notice explains what is needed.<\/li>\n<\/ul>\n\n<h4>How to use<\/h4>\n\n<ol>\n<li>Make sure Elementor and Elementor Pro are installed and active.<\/li>\n<li>Edit any page with an Elementor Pro Form widget (or add one).<\/li>\n<li>In the <strong>Form Fields<\/strong> repeater, select or add a <strong>Checkbox<\/strong> field.<\/li>\n<li>In the field's <strong>Content<\/strong> tab, find the <strong>Required (at least one)<\/strong> toggle and switch it on.<\/li>\n<li>Save and publish the page.<\/li>\n<\/ol>\n\n<p>That's it \u2014 the form will now block submission if the checkbox field is left empty.<\/p>\n\n<h4>Who is this for?<\/h4>\n\n<ul>\n<li><strong>Agency developers<\/strong> building lead generation, consent, or survey forms.<\/li>\n<li><strong>Business owners<\/strong> running contact or booking forms that require service selection.<\/li>\n<li><strong>Freelancers<\/strong> who need a quick, clean solution without custom JavaScript.<\/li>\n<li><strong>Anyone using Elementor Pro forms<\/strong> who has ever needed a required checkbox.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.9 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/elementor\/\">Elementor<\/a> (free) installed and active<\/li>\n<li><a href=\"https:\/\/elementor.com\/pro\/\">Elementor Pro<\/a> (premium) installed and active<\/li>\n<\/ul>\n\n<p><strong>This plugin is an independent add-on and is not affiliated with or endorsed by Elementor Ltd.<\/strong><\/p>\n\n<!--section=installation-->\n<h4>From the WordPress plugin directory (recommended)<\/h4>\n\n<ol>\n<li>In your WordPress admin panel, go to <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Search for <strong>Required Checkbox Validation for Elementor<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<h4>Manual installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file from <a href=\"https:\/\/wordpress.org\/plugins\/required-checkbox-validation-for-elementor\/\">WordPress.org<\/a>.<\/li>\n<li>In your WordPress admin panel, go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Choose the ZIP file and click <strong>Install Now<\/strong>.<\/li>\n<li>Click <strong>Activate Plugin<\/strong>.<\/li>\n<\/ol>\n\n<h4>After activation<\/h4>\n\n<p>No settings page is needed. Open any page in the Elementor editor that contains a Form widget, select a Checkbox field, and you will see the <strong>Required (at least one)<\/strong> toggle in the field's Content tab.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20the%20free%20version%20of%20elementor%3F\"><h3>Does this work with the free version of Elementor?<\/h3><\/dt>\n<dd><p>No. The Form widget is exclusive to <strong>Elementor Pro<\/strong> (the premium licence). This plugin requires both Elementor (free) and Elementor Pro to be installed and active. If either is missing, an admin notice will appear.<\/p><\/dd>\n<dt id=\"where%20exactly%20is%20the%20toggle%20in%20the%20editor%3F\"><h3>Where exactly is the toggle in the editor?<\/h3><\/dt>\n<dd><p>Open the Elementor editor, click the Form widget, expand the <strong>Form Fields<\/strong> section, and select a field whose <strong>Field Type<\/strong> is set to <strong>Checkbox<\/strong>. Switch to the <strong>Content<\/strong> tab for that field \u2014 the <strong>Required (at least one)<\/strong> toggle will appear there.<\/p><\/dd>\n<dt id=\"can%20i%20require%20%2Aall%2A%20checkboxes%20to%20be%20checked%2C%20not%20just%20one%3F\"><h3>Can I require *all* checkboxes to be checked, not just one?<\/h3><\/dt>\n<dd><p>Not in the current version. The plugin validates that at least one option is selected. A future version may support a configurable minimum number of selections.<\/p><\/dd>\n<dt id=\"what%20error%20message%20is%20shown%20to%20the%20user%3F\"><h3>What error message is shown to the user?<\/h3><\/dt>\n<dd><p>Two messages appear:<\/p>\n\n<ol>\n<li><strong>An inline error<\/strong> below the checkbox group (client-side): \"Please select at least one option.\"<\/li>\n<li><strong>A form-level error<\/strong> returned by the server if the submission somehow bypasses the client-side check: \"Please select at least one option for '[field label]'.\"<\/li>\n<\/ol>\n\n<p>Both messages are translatable.<\/p><\/dd>\n<dt id=\"does%20it%20work%20if%20i%20have%20multiple%20checkbox%20fields%20in%20the%20same%20form%3F\"><h3>Does it work if I have multiple checkbox fields in the same form?<\/h3><\/dt>\n<dd><p>Yes. Each checkbox field is evaluated independently. You can have some checkbox fields required and others optional within the same form.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20multiple%20forms%20on%20the%20same%20page%3F\"><h3>Does it work with multiple forms on the same page?<\/h3><\/dt>\n<dd><p>Yes. The plugin handles all Elementor Pro forms on the page simultaneously.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20javascript%20is%20disabled%20in%20the%20browser%3F\"><h3>What happens if JavaScript is disabled in the browser?<\/h3><\/dt>\n<dd><p>The plugin includes <strong>server-side validation<\/strong> as a fallback. Even without JavaScript, if a user submits the form without selecting an option, the server will reject the request and return an error message.<\/p><\/dd>\n<dt id=\"will%20this%20plugin%20slow%20down%20my%20site%3F\"><h3>Will this plugin slow down my site?<\/h3><\/dt>\n<dd><p>No. Assets are only enqueued on pages where at least one Elementor form with a required checkbox field is present. On all other pages \u2014 including admin pages, posts without forms, and the home page \u2014 nothing is loaded.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20page%20caching%20plugins%3F\"><h3>Is this compatible with page caching plugins?<\/h3><\/dt>\n<dd><p>Yes. The plugin does not modify cached HTML. The validation runs on the client side (real-time) and on the server side (via Elementor's AJAX handler). Caching plugins should have no impact on its behaviour.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20the%20elementor%20editor%20preview%3F\"><h3>Is this compatible with the Elementor editor preview?<\/h3><\/dt>\n<dd><p>Yes. The toggle is visible and saving works correctly in the Elementor editor.<\/p><\/dd>\n<dt id=\"can%20i%20translate%20the%20error%20messages%3F\"><h3>Can I translate the error messages?<\/h3><\/dt>\n<dd><p>Yes. The plugin is fully internationalised. You can translate it through <a href=\"https:\/\/translate.wordpress.org\/\">translate.wordpress.org<\/a> or by loading your own <code>.mo<\/code> file from the <code>languages\/<\/code> directory.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Make Elementor Pro checkbox fields required. Blocks submission until at least one checkbox is selected, with client-side and server-side validation.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/317102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=317102"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mbilalkk"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=317102"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=317102"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=317102"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=317102"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=317102"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=317102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}