Описание
Validation Muse позволяет писать собственные правила валидации и сообщения об ошибках для каждого поля Contact Form 7 — прямо в редакторе формы, для каждой формы и поля отдельно. Без кода, без глобальных настроек, без JavaScript-хаков.
Большинство плагинов валидации CF7 перестали работать, когда Contact Form 7 6.x представил Schema-based Validation (SWV). Validation Muse запускает свои фильтры с приоритетом 20 (после ядра CF7) и использует Reflection, чтобы заменить SWV-ошибки для уже невалидных полей — поэтому ваш пользовательский текст действительно отображается на новом валидационном движке.
Почему Validation Muse
- Совместимость с CF7 6.x SWV — работает с новой Schema-based Validation, не только со старыми хуками.
- Собственные правила Regex и длины — задавайте свои regex-паттерны, минимальную и максимальную длину по полю, каждое со своим сообщением об ошибке.
- Условные правила «Required-If» — поле становится обязательным только когда заполнено/отмечено связанное поле.
- Клиентская SWV-интеграция — стандартные правила валидации (required, email, length) внедряются в нативный движок SWV CF7 для мгновенной обратной связи на фронтенде с полной поддержкой доступности (A11y).
- Импорт/экспорт наборов правил и шаблоны — экспортируйте/импортируйте правила валидации в JSON, копируйте их из других форм, применяйте глобальные шаблоны массово.
- Токены-плейсхолдеры — используйте
{field_label},{min}и{max}в сообщениях валидации для генерации динамического текста. - Per-form, per-field — каждая форма хранит свои сообщения; нет глобального переопределения.
- Хранится в post meta — сообщения живут с формой, совместимы с дублированием формы CF7 и сторонними плагинами импорта/экспорта CF7.
- Мультиязычность через WPML, Polylang и Flavor — переводит правила через стандартные хуки WPML/Polylang, а также показывает языковые табы + кнопку AI Translate в один клик, когда активен Flavor.
- Дружественен к разработчикам — хуки расширяемости
vmcf7_loadedиvmcf7_validation_tag_typesпозволяют добавлять собственные типы полей. - Лёгкий — без admin-раздутия, без трекинга, без апселов.
Поддерживаемые типы полей
- Сообщения для обязательных полей: любой required-тег (
text,textarea,select,checkbox,radio,fileи т.д.). - Сообщения о невалидном формате:
email,url,tel,number(включаяrange),dateиtime. - Собственные сообщения об ошибке при неудачной валидации:
file(проверка размера/типа),acceptance(чекбокс не отмечен) иquiz(неверный ответ). - HTML внутри сообщений разрешён и очищается через
wp_kses_post(). - Собственные правила Regex и Мин/Макс длины поддерживаются для всех полей ввода (кроме acceptance и quiz).
Переводы
Плагин поставляется с .pot-файлом и уже переведён на немецкий, испанский, французский, португальский (Бразилия), русский и украинский. Помогите перевести на ваш язык.
Скриншоты




Установка
- Установите из Плагины Добавить новый, найдя Validation Muse for Contact Form 7, или загрузите папку
validation-muse-for-contact-form-7в/wp-content/plugins/. - Активируйте плагин. Contact Form 7 должен быть активен — Validation Muse автоматически деактивируется с уведомлением, если CF7 отсутствует.
- Откройте любую форму Contact Form 7, перейдите в панель Custom Validation, включите её и напишите свои сообщения.
- (Опционально) Установите плагин перевода Flavor для перевода сообщений по языкам с AI-помощью.
Часто задаваемые вопросы
-
Работает ли это с Contact Form 7 6.x и Schema-based Validation (SWV)?
-
Да. Начиная с версии 1.3.0, Validation Muse цепляется на приоритет 20 (после ядра CF7) и использует Reflection для замены SWV-ошибок для уже невалидных полей. Начиная с 1.6.1, стандартные правила (required, email/url/tel/number/date/time, мин/макс длина) также внедряются прямо в собственную SWV-схему CF7, поэтому клиентская (фронтенд JS) валидация мгновенно показывает ваши сообщения — через нативный движок валидации CF7, без какого-либо дополнительного скрипта этого плагина.
-
Чем это отличается от других плагинов валидации CF7?
-
Validation Muse — единственный плагин валидации CF7, который (1) совместим с CF7 6.x SWV из коробки — как на сервере, так и в собственной клиентской валидации CF7, (2) хранит сообщения в post meta формы, поэтому они живут с формой (совместимо с дублированием формы CF7 и плагинами импорта/экспорта), и (3) интегрируется с плагином перевода Flavor для сообщений per language с one-click AI-переводом.
-
Можно ли переводить сообщения валидации по языкам?
-
Да — установите плагин Flavor, и Validation Muse покажет языковые табы в редакторе формы плюс кнопку AI Translate. Переводы хранятся в БД Flavor; удаление Validation Muse очищает их.
-
Какие типы полей поддерживают собственные сообщения о неверном формате или ошибке валидации?
-
email,url,tel,number(включаяrange),dateиtimeподдерживают собственные сообщения о неверном формате.fileподдерживает собственные сообщения об ошибке валидации размера/типа файла.acceptanceподдерживает собственные сообщения об ошибке, когда чекбокс не отмечен.quizподдерживает собственные сообщения об ошибке, когда ответ неверный.- Любое обязательное поле любого типа может иметь собственное сообщение об обязательности.
-
Где хранятся сообщения?
-
В post meta каждой формы. Они живут с формой, поэтому дублирование формы (встроено в CF7) сохраняет сообщения. CF7 не имеет нативного экспорта, но сторонние плагины импорта/экспорта CF7 читают post meta — поэтому миграции между сайтами работают без отдельного шага импорта.
-
Можно ли использовать HTML в сообщениях валидации?
-
Да, базовый HTML разрешён и очищается через
wp_kses_post(). -
Требует ли этот плагин Contact Form 7?
-
Да. CF7 должен быть установлен и активен. Плагин показывает admin-уведомление и самодеактивируется, если CF7 отсутствует.
-
Есть ли страница настроек?
-
Нет. Конфигурация живёт внутри каждой формы, в панели Custom Validation. Глобальной страницы настроек нет по дизайну — каждая форма хранит свои сообщения.
-
Трекает или отправляет ли плагин какие-либо данные?
-
Нет. Validation Muse не делает никаких внешних запросов. Опциональная кнопка AI Translate (интеграция с Flavor) маршрутизируется через собственного провайдера Flavor.
Отзывы
Нет отзывов об этом плагине.
Участники и разработчики
«Validation Muse for Contact Form 7» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участники«Validation Muse for Contact Form 7» переведён на 5 языков. Благодарим переводчиков за их работу.
Перевести «Validation Muse for Contact Form 7» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.
Журнал изменений
1.6.3
- i18n: полностью регенерирован каталог перевода
.pot— каталог был заморожен с версии 1.2.0 и покрывал лишь около 20% переводимых строк плагина (regex-/длина-правила, шаблоны правил, ошибки AI Translate и многое другое раньше не извлекались вовсе). Все шесть поставляемых языков (немецкий, испанский, французский, португальский, русский, украинский) теперь полностью переведены под актуальный интерфейс. - Документация: синхронизированы все переведённые readme-файлы — список возможностей, поддерживаемые типы полей и FAQ теперь отражают функциональность 1.6.0–1.6.2 (собственные regex-/длина-правила, required-if, нативная клиентская SWV-валидация, шаблоны правил); их разделы Changelog/Upgrade Notice, ранее застрявшие на 1.4.2, теперь покрывают все версии вплоть до 1.6.2.
- Fix: добавлен отсутствовавший комментарий
translators:для строки с плейсхолдером (качество i18n-кода, без изменений поведения).
1.6.2
- Fix: сообщения, сохранённые версиями до переименования плагина (хранившиеся под старым meta-префиксом
_cf7cv_), были невидимы для текущего кода. Одноразовая миграция теперь автоматически переименовывает их в префикс_vmcf7_, восстанавливая утраченные сообщения. Безопасна при коллизиях, выполняется один раз.
1.6.1
- Fix: устранены дублирующиеся/перезаписанные сообщения валидации на фронтенде за счёт интеграции с нативным движком SWV CF7.
- Fix: панели и карточки предпросмотра в админке отображались развёрнутыми, так как редактор CF7 удаляет inline-стили.
1.6.0
- Новое: собственные regex- и правила мин/макс длины по полю, каждое со своим сообщением.
- Новое: сообщения валидации для полей
file,acceptanceиquiz; условные сообщения «required-if». - Новое: токены-плейсхолдеры сообщений
{field_label},{min},{max}. - Новое: клиентская inline-валидация, отражающая серверные сообщения, с доступностью через
aria-describedby. - Новое: живой предпросмотр сообщений, копирование сообщений между формами, JSON импорт/экспорт наборов сообщений и lint редактора.
- Новое: регистрация строк WPML/Polylang наряду с мостом Flavor; импорт/экспорт переводов.
1.5.0
- Минимальный PHP повышен до 8.0; минимальный WordPress повышен до 6.0; протестировано до WordPress 7.0.
- Новое: собственные сообщения валидации для полей
time. - Более понятная обратная связь об ошибках AI Translate в редакторе форм.
- Замена сообщений SWV на основе Reflection теперь логирует сбои под WP_DEBUG для упрощения диагностики.
- Улучшена обработка ожидающих переводов (больше нет тихого фолбэка) с кэшированием на запрос.
- Код модернизирован под идиомы PHP 8; усилено экранирование вывода; добавлен первый набор тестов.
1.4.2
- Plugin URI: теперь указывает на отдельную страницу https://plugins.symonov.com/validation-muse-for-cf7/
- Без изменений кода или поведения
1.4.1
- Readme: USP-first переписывание для SEO-видимости
- Tags: общие
messages/forms/customizationзаменены на целевыеcontact-form-7,cf7,validation,error-message,multilingual - FAQ: добавлены записи про совместимость с CF7 6.x SWV, сравнение с другими плагинами валидации CF7, мультиязычность через Flavor
1.4.0
- Добавлена мультиязычная поддержка через интеграцию с плагином перевода Flavor
- Сообщения валидации теперь можно переводить per language в редакторе формы
- Языковые табы появляются автоматически когда плагин Flavor активен
- Кнопка AI Translate для one-click машинного перевода всех сообщений
- Переводы хранятся в БД Flavor — данные плагина остаются портативными
- Нулевой оверхед когда Flavor не установлен — все вызовы за class_exists()-проверками
- Переводы Flavor очищаются при удалении плагина
1.3.0
- Исправлена совместимость с Contact Form 7 6.x SWV (Schema-based Validation)
- Фильтры валидации теперь запускаются с приоритетом 20 (после ядра CF7) для замены SWV-сообщений об ошибках
- Добавлена замена ошибок на основе Reflection для уже невалидных полей
- Собственные сообщения теперь корректно переопределяют стандартный текст CF7 «The field is required.»
1.2.1
- Исправлено несоответствие имени переменной, вызывавшее ошибку «No required fields»
1.2.0
- Рефакторинг кодовой базы в соответствии с WordPress Coding Standards
- Реорганизована структура файлов для лучшей поддерживаемости
- Добавлены блоки PHPDoc ко всем функциям и методам
- Улучшена доступность с помощью ARIA-меток
- Исправлена несогласованность префиксов в JavaScript
- Исправлен скрипт удаления для использования правильного meta-префикса
- Добавлены хуки расширяемости (
vmcf7_loaded,vmcf7_validation_tag_types) - Изменена проверка прав доступа с
manage_optionsнаwpcf7_edit_contact_forms - Обновлено имя POT-файла в соответствии с текстовым доменом
1.1.2
- Изменено название плагина.
1.1.1
- Добавлен файл .gitignore.
1.1.0
- Добавлены сопроводительные файлы для репозитория WordPress (readme, лицензия, POT-файл).
- Переработаны хуки валидации для переопределения сообщений required и invalid без зависимости от AJAX-фильтров.
- Усилена санитизация, загрузка текстового домена и очистка при удалении для готовности к релизу.
1.0.1
- Первоначальная публичная версия, включённая в проект.
