Рейтинг:0

Установить минимальную цену коммерческого продукта

флаг cn

Я хочу установить минимальную цену, которую можно ввести в форме добавления/редактирования продукта в Commerce. Если пользователи вводят более низкую цену, должна отображаться ошибка, когда они нажимают кнопку «Сохранить».

Я использую следующий код для достижения этого.

function THEME_form_commerce_product_default_add_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  $form['#validate'][] = '_custom_formvalidation_number_price_validate';
}
    
функция _custom_formvalidation_number_price_validate(&$form, FormStateInterface $form_state) {
  if ($form['variations']['widget']['entity']['price']['widget'][0]['#default_value'] = ['number' => 2,'currency_code' => 'EUR'] > 2) {
    $form_state->setErrorByName('price', t('Цена должна быть не менее 2'));
  }
}

Мне нужно проверить введенное значение, а не значение по умолчанию. Какой именно элемент?

griz avatar
флаг jp
Вы должны написать простой модуль, содержащий вашу пользовательскую функцию проверки. Модуль также должен содержать функцию «hook_form_alter», которая нацелена на вашу форму и добавляет ссылку на вашу функцию проверки для формирования массива «#validate». https://drupal.stackexchange.com/questions/183685/how-do-i-add-a-custom-validation-handler-to-an-existing-form-field https://www.drupal.org/forum /support/module-development-and-code-questions/2017-02-11/form-custom-validation-after-hook
флаг cn
Это очень полезно, но я все еще не могу установить минимальную цену.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.