Καλημέρα σε όλους. Θα ήθελα να ρωτήσω κάτι. Έχω μι...
# chat
d
Καλημέρα σε όλους. Θα ήθελα να ρωτήσω κάτι. Έχω μια φορμα webform στην οποία θέλω προγραμματιστικά να κάνω ένα πεδίο disabled και not required. Ενώ το πρώτο το κατάφερα, το δεύτερο δεν έχω μπορέσει να το κάνω. Το προσπαθώ σε ένα custom module στο hook_form_alter με αυτή την γραμμή:
$form['elements']['date_choosing']['imerominia_episkepsis']['#required']=0;
. Επίσης όταν ένα field είναι disabled δεν θα πρέπει να είναι και not required? Ευχαριστω
👋 1
b
αρχικά, όχι ενα disabled δεν ειναι απαραίτητα non-required (θα μπορουσε να γεμίζει με κάτι από το _GET και να ειναι και τρόπος spam-protection αυτός πχ, ή ότι όντως βλέπεις τη φόρμα ερχόμενος από ένα node και όχι με direct link κτλ κτλ)
όπως ήδη ξέρεις: • disabled = δεν μπορει ο χρήστης να το ασχοληθεί μαζί του • required = δεν προχωράει το submit χωρίς αυτό παραμένουν ξεχωριστά μεταξύ τους
στη συνέχεια, αν δεν κανω λαθος πρεπει να το κανεις με form states
ισως να σε βοήθησει αυτό: https://www.drupal.org/project/drupal/issues/2855139 (στο #38 λεει οτι ειναι οκ)
τριτο, me being nitpicky, είναι καλή ιδέα να χρησιμοποιείς αγγλικά machine names παντού:
imerominia_episkepsis
=
visit_date
για παράδειγμα όχι μόνο το κάνει πιο εύκολο να μοιραστείς κώδικα με άλλους, που δεν μιλάνε τη γλώσσα, είναι και καλή συνήθεια γιατί κάποια στιγμή μπορεί να βρεθείς σε πολύγλωσση ομάδα (ή κάποιος άλλο να έρθει στην ομάδα σου και να μην ξερει ελληνικά)
❤️ 2
d
Ευχαριστώ πολύ για τις απαντήσεις θα το ψάξω!. Υπάρχει περίπτωση να το απενεργοποιήσω κάπως αλλιώς ή να μην είναι προσβάσιμο από τον χρήστη; (πχ να βγαίνει από την φόρμα κάπως;;)
b
visible
/
invisible
, το δευτερο σιγουρα, το πρωτο δε θυμαμαι αν υπαρχει σιγουρα
θα πρεπει να το βγαλεις απο required
να φανταστω θες ενα πεδίο που να μην το ελεγχει ο χρήστης αλλά ο διαχειρήστης αργότερα;
Copy code
// Hide name field when the anonymous checkbox is checked.
$form['name'] = array(
  '#type' => 'textfield',
  '#title' => t('Name'),
  '#states' => array(
    'invisible' => array(
      ':input[name="anonymous"]' => array('checked' => TRUE),
    ),
  ),
);
απο το lullabot link παραπάνω
d
Θέλω να μην μπορεί ο χρήστης να το συμπληρωνει όταν τσεκαρει ενα αλλο πεδίο. Αλλα οταν δεν το τσεκαρει το αλλο πεδίο να ειναι required το προηγουμενο
b
επισης, το webform για Drupal8/9/10 εχει πολλα απο αυτά στο UI, λογικα δε θες καν κωδικα για να το καταφέρεις
οκ, πολυ ωραια, webform conditional
νομιζω ειναι tab κατω απο τα webform settings
οχι κατω απο το build
d
απο ui λες ε; θα το δω και απο εκει
ναι ναι στο edit toy pediou einai
b
αμα σου στελεις ενα screenshot τα webform tabs θα το θυμηθω, δεν εχω ανοιχτο webform site τωρα
d
dont worry νομιζω που εδωσες ena hint...
b
θυμαμαι οτι ειναι στη webform, και οχι στο πεδιο! προσεξε το λιγο, αν πεσω πανω του θα σου πω
d
θα το βρω καπου
ωραια ευχαριστω πολυ!
👍 1
b
hint: μπορει να ειναι submodule στο webform, δες μηπως πρεπει να το κανεις enable
d
Αυτό εννοεις μήπως;
👍 1