Puncte:0

Setați prețul minim al produsului comercial

drapel cn

Doresc să stabilesc un preț minim care poate fi introdus în formularul de adăugare/editare a produsului din Commerce. Dacă utilizatorii introduc un preț mai mic, ar trebui să se afișeze o eroare, atunci când fac clic pe butonul de salvare.

Folosesc următorul cod pentru a realiza asta.

funcția THEME_form_commerce_product_default_add_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  $form['#validate'][] = '_custom_formvalidation_number_price_validate';
}
    
funcția _custom_formvalidation_number_price_validate(&$form, FormStateInterface $form_state) {
  dacă ($form['variations']['widget']['entity']['price']['widget'][0]['#default_value'] = ['number' => 2,'currency_code') => „EUR”] > 2) {
    $form_state->setErrorByName('preț', t('Prețul trebuie să fie de cel puțin 2'));
  }
}

Trebuie să verific valoarea introdusă, nu valoarea implicită. Ce element este mai exact?

griz avatar
drapel jp
Ar trebui să scrieți un modul simplu care să conțină funcția de validare personalizată. Modulul ar trebui să conțină și o funcție „hook_form_alter” care vizează formularul și adaugă o referință la funcția de validare la matricea „#validate” a formularului. 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
drapel cn
Acest lucru este foarte util, dar încă nu pot seta o valoare minimă a prețului.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.