И что значит "во время валидации хочу выводить кнопки Да Нет"? Зачем это? Кнопки должны строиться в build-функции формы. Но в функции валидации можно воздействовать на массив $form_state, чтобы затем при релоаде/перепостроении формы прочитать какие-то флаги и добавить кнопки.
Либо - самое каноническое решение - multistep-форма.
Если нужен просто пропуск ошибок валидации для определённой кнопки, то как-то так:
Я если вижу ошибку - исправить её сразу не могу. Стоит какая то задержка.
А потом я про это забываю
Вот и сейчас:
Ваша учетная запись еще не подтверждена. Поэтому вы можете отправлять комментарий раз в 10 минут. Как только мы проверим вашу учетную запись, мы снимем все ограничения.
<?php
function _form_validation_number_title_validate(&$form, \Drupal\Core\Form\FormStateInterface $form_state) {
if (
$_POST['net']) return;
elseif(
$vadr){
$sozzak .= ' По данному адресу уже были работы, создать заказчика? <form id="da" action="/node/add/z" target="_blank"> <input type="submit" form="da" id="da" name="da" value="Да">
Комментарии
Версию указываем.
И что значит "во время валидации хочу выводить кнопки Да Нет"? Зачем это? Кнопки должны строиться в build-функции формы. Но в функции валидации можно воздействовать на массив $form_state, чтобы затем при релоаде/перепостроении формы прочитать какие-то флаги и добавить кнопки.
Либо - самое каноническое решение - multistep-форма.
Если нужен просто пропуск ошибок валидации для определённой кнопки, то как-то так:
<?php
$form['submit_no'] = [
'#type' => 'submit',
'#value' => 'Нет',
...
'#limit_validation_errors' => [], // Пустой массив.
...
];
?>
Не могу сразу. У меня ограничение на отправку комментов
D8
Версию Drupal можно указать в специальном поле при создании нового поста. Ну или в крайнем случае в самом посте писать
Я если вижу ошибку - исправить её сразу не могу. Стоит какая то задержка.
А потом я про это забываю
Вот и сейчас:
Спасибо за ответ. Но:
<?php function _form_validation_number_title_validate(&$form, \Drupal\Core\Form\FormStateInterface $form_state) {
$sozzak .= '
if (
$_POST['net']) return;elseif(
$vadr){По данному адресу уже были работы, создать заказчика?
<form id="da" action="/node/add/z" target="_blank">
<input type="submit" form="da" id="da" name="da" value="Да">
</form>
<input type="button" id="net" name="net" value="Нет" form="node-zaka-edit-form">
'
;$rendered_message = \Drupal\Core\Render\Markup::create($sozzak);
$form_state->setErrorByName('field_vvedite_adr', $rendered_message);
\Drupal::messenger()->addStatus($rendered_message);
return;
}
}}}
}
?>Нажатие на кнопку Нет ведёт не к сохранению, а опять на редактирование: node/7880/edit
Ой ужас какой 🙈
1. Не нужно использовать $_POST
2. Формы нужно создавать используя Drupal Form Api
А по сути есть что ответить?
Первый раз в жизни вижу код и слышу звук.
![](/sites/default/files/inline/images/2023/103253/icpicslivejournalcomlelya_diana626933601041010410_900.jpg)
И запах
Неужели вы не видите, что это не друпал?©