Puncte:-2

Schimbați starea necesară bifând caseta de selectare

drapel jp

Am un câmp de imagine și o casetă de selectare în formularul meu de editare a nodului. Doresc ca câmpul de imagine să fie obligatoriu atunci când caseta de selectare nu este bifată. Și vreau ca câmpul de imagine să nu fie obligatoriu atunci când caseta de selectare este bifată.

Cum pot face acest lucru?

leymannx avatar
drapel ne
Răspunde acest lucru la întrebarea dvs.: [Cum pot face un element de formular necesar cu state?](https://drupal.stackexchange.com/q/14173/15055)
Joost avatar
drapel jp
Deci, utilizarea #states pentru a face un câmp obligatoriu nu este posibilă. Ar trebui să găsesc o modalitate de a-mi crea propria validare. Mulțumiri
leymannx avatar
drapel ne
`#states` pentru a face un câmp obligatoriu este posibil și este ușor. Dar necesită JS, iar validarea se va face în browser. Dacă asta funcționează pentru tine, pentru că întregul tău site nu va funcționa fără JS, bine. Alternativ, ați implementa un apel invers `#element_validate` și ați face validarea în PHP. Depinde puțin de cât de importantă este forma și cerințele.
Joost avatar
drapel jp
Validarea @leymannx JS este în regulă pentru cazul de utilizare la care lucrez. Dar cum pot face ca acest lucru să funcționeze pentru un câmp de imagine?
Puncte:1
drapel ge

Pentru câmpul de imagine, utilizați #states, acest lucru va crea un câmp obligatoriu pe baza casetei de selectare pe care ați dat clic sau nu. Verifica Aici pentru mai multe informatii

'#states' => matrice(
  'required' => matrice(
    :input[name="NUMELE CÂMPULUI"]' => array('value' => 'VALOAREA CÂMPULUI'),
  ),
),
Joost avatar
drapel jp
Mulțumesc, asta a ajutat deja foarte mult. Am o întrebare totuși. La [this](https://www.drupal.org/docs/drupal-apis/form-api/conditional-form-fields#staterequired) o parte a link-ului pe care l-ați furnizat spun că necesar este un caz special. Există un exemplu în acest sens pentru un câmp de completare automată. Dar cum țintesc câmpul de intrare real al unui câmp de imagine?
Ajay Reddy avatar
drapel ge
Puteți adăuga aici structura formularului (cod), astfel încât să vă putem ajuta.
Joost avatar
drapel jp
Nu este mai mult decât o casetă de selectare obișnuită și un câmp de imagine obișnuit din nucleul Drupal, adăugat la un tip de conținut. Ce parte de cod doriți să vedeți, html?

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.