Προς το περιεχόμενο

Dropdown validation php


Προτεινόμενες αναρτήσεις

Δημοσ.

Παίδες καλησπέρα,

 

Παιδευόμαστε με ένα φίλο για μια σελίδα (δεν είναι online ακόμα και γι' αυτό δεν μπορώ να δώσω link) και έχουμε το παρακάτω:

/**
 * Add store location select dropdown in checkout page
 **/
add_filter( 'woocommerce_checkout_fields' , 'custom_store_pickup_field');
 
function custom_store_pickup_field( $fields ) {
      $fields['billing']['store_pickup'] = array(
     'type'     => 'select',
	    'options'  => array(
			'ERROR' => 'SELECT AN OPTION',
			'1' => '1 ΟΚ'
			'2' => '2 ΟΚ'
	        ),
	'label'     => __('Please select an option', 'woocommerce'),
    'required'    => true,
    'class'     => array('store-pickup form-row-wide'),
    'clear'     => true
	);
 
     return $fields;
}


function custom_checkout_field_alert( ) {
    global $woocommerce;
        if ( !$_POST[ 'store_pickup' ] )
$woocommerce->add_error( __( 'Please select an option' ) );
}
add_action( 'woocommerce_checkout_process', 'custom_checkout_field_alert' );

Αυτό δημιουργεί ένα dropdown με τις εξής επιλογές:

 

SELECT AN OPTION

1 OK

2 OK

 

Η πρώτη επιλογή (SELECT AN OPTION) θα θάλαμε να είναι "placeholder". Πράμα που σημαίνει πως αν ο χρήστης δεν επιλέξει τα 1 ΟΚ ή 2 ΟΚ, όταν κάνει submit να βγαίνει error (Αυτό προσπαθεί να κάνει το τελευταίο κομμάτι του κώδικα).

 

Δυστυχώς δεν μας δουλεύει. Το SELECT AN OPTION το παίρνει σαν αποδεκτή επιλογή.

 

Κάθε βοήθεια καλοδεχούμενη!!

Θενκς

 

 

 

 

Δημοσ.

'required' => true,

'placeholder' => __('Select an option', 'woocommerce'),

 

Το δοκίμασα αυτό (αρκετές φορές) αλλά δυστυχώς το placeholder δεν εμφανίζεται...

Δημοσ.

Δεν έχω ιδέα από woocommerce αλλά καθαρά βλέποντας τον κώδικα που δίνεις θα πρέπει να σου δουλέψει απλά αντικαθιστώντας το 

 

'options' => array(
            'ERROR' => 'SELECT AN OPTION',
            '1' => '1 ΟΚ'
            '2' => '2 ΟΚ'
     ),

 

με

 

'options' => array(
            '' => 'SELECT AN OPTION',
            '1' => '1 ΟΚ'
            '2' => '2 ΟΚ'
     ),

Δημοσ.

Για δοκίμασε το πρώτο option να το δώσεις σαν

'' => 'SELECT AN OPTION',

Το πρόβλημά σου είναι, νομίζω, ότι επειδή από μόνο του το select δεν υποστηρίζει placeholder, χρειάζεσαι ένα option χωρίς value για να παίξει το ρόλο αυτό. Ίσως το παραπάνω να σου λύσει το πρόβλημα.

 

edit: άργησα λίγο, το έχει γράψει ήδη αποπάνω :X

Δημοσ.

Δεν έχω ιδέα από woocommerce αλλά καθαρά βλέποντας τον κώδικα που δίνεις θα πρέπει να σου δουλέψει απλά αντικαθιστώντας το 

 

'options' => array(

            'ERROR' => 'SELECT AN OPTION',

            '1' => '1 ΟΚ'

            '2' => '2 ΟΚ'

     ),

 

με

 

'options' => array(

            '' => 'SELECT AN OPTION',

            '1' => '1 ΟΚ'

            '2' => '2 ΟΚ'

     ),

 

 

Για δοκίμασε το πρώτο option να το δώσεις σαν

'' => 'SELECT AN OPTION',

Το πρόβλημά σου είναι, νομίζω, ότι επειδή από μόνο του το select δεν υποστηρίζει placeholder, χρειάζεσαι ένα option χωρίς value για να παίξει το ρόλο αυτό. Ίσως το παραπάνω να σου λύσει το πρόβλημα.

 

edit: άργησα λίγο, το έχει γράψει ήδη αποπάνω :X

 

 

Ω ναι! Θενκς πολλά!!!

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...