Как сделать валидацию JavaScript в Metabox редактора WordPress Gutenberg - PullRequest
0 голосов
/ 13 марта 2019

Я создаю пользовательскую таксономию date для пользовательского типа записи announcement в новой версии WordPress с Гутенберг .

Мне нужно этоТаксономия должна быть обязательным полем для публикации поста, и я уже пытался с

<input type="date" required>

, и это не сработало, сейчас я пытаюсь проверить этот ввод с помощью класса "requireMe".

Поэтому я попытался захватить кнопку Publish Post с помощью JavaScript и отключить ее, либо этот вход уже был установлен, либо нет.

Моя первая проблема заключалась в том, что я никогда не мог захватить эту кнопку, потому что онане является частью реального DOM, поэтому я уже заметил, что есть новый способ сделать это через API, но я не могу найти соответствующую документацию для этого.

Все, что мне нужно, - это выполнить проверку.

как показано на этом изображении

1 Ответ

1 голос
/ 13 марта 2019

Вы можете использовать Editor store и отправлять событие, которое запрещает сохранение сообщения, пока вы не разблокируете его снова.

wp.data.dispatch( 'core/editor' ).lockPostSaving( 'my_lock_key' );

, чтобы отключить блокировку, позвоните:

wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'my_lock_key' );

Вы также можете дополнительно отправить уведомление, которое отображается в верхней части редактора.

wp.data.dispatch( 'core/notices' ).removeNotice('LOCK_NOTICE');
wp.data.dispatch( 'core/notices' ).createErrorNotice( 'Please enter a date to continue.', { id: 'LOCK_NOTICE',isDismissible: true} ) ;
...