Come limitare l'intervallo consentito nel campo numeri

Volete limitare l'intervallo consentito nel campo Numeri con WPForms? Esistono diversi modi per impostare i valori minimi e massimi per l'input numerico.

Questa esercitazione vi mostrerà i metodi disponibili per implementare i limiti di intervallo nei vostri moduli.

Impostazione del modulo

Iniziamo creando il nostro modulo e incorporandovi il campo Numeri. Se avete bisogno di una guida per la creazione del modulo, consultate questa documentazione per le istruzioni passo-passo.

iniziare creando il modulo e aggiungendo i campi, tra cui almeno un campo Numeri

Impostazione dei limiti di base dell'intervallo

Il campo Numeri include controlli di intervallo nel pannello Opzioni campo. È sufficiente inserire i valori minimo e massimo nei campi Intervallo per limitare l'input dell'utente.

Per maggiori dettagli sulle caratteristiche del campo Numeri, consultare la nostra guida all'uso del campo Numeri.

Implementazione dei controlli avanzati dell'intervallo

Per esigenze particolari, come l'imposizione di numeri pari o di messaggi di convalida personalizzati, è possibile utilizzare JavaScript per implementare controlli di intervallo personalizzati. Se avete bisogno di indicazioni sull'aggiunta di snippet di codice, consultate questa guida sull'aggiunta di codice personalizzato in WordPress.

Aggiunta della classe CSS

Per prima cosa, aggiungeremo una classe CSS al campo, per assicurarci che ogni volta che c'è un elemento Numeri con questa particolare classe, questo snippet entrerà in azione. Per aggiungere una classe CSS a un campo, aprire il costruttore di moduli, fare clic sul pulsante Numeri per aprire il Opzioni di campo pannello. Quindi fare clic su Avanzato e nel Classi CSS, aggiungere wpf-num-limit .

L'aggiunta della classe CSS limiterà l'intervallo consentito per il campo numero

Aggiunta dello snippet di codice

Ora, integriamo lo snippet.

Questo particolare snippet impone un valore minimo di 5 e un valore massimo di 20 per qualsiasi Numeri con una classe CSS denominata wpf-num-limit.

/**
 * Limit number range allowed for a Numbers field
 * Apply the class "wpf-num-limit" to the field to enable.
 *
 * @link https://wpforms.com/developers/how-to-limit-range-allowed-in-numbers-field/
 */
 
function wpf_dev_num_limit() {
    ?>
    <script type="text/javascript">
        jQuery(function(){

            // Enter 5 minimum (5) and maximum (20) amount for the number field 
            jQuery( '.wpf-num-limit input' ).attr({ 'min':5, 'max':20 } ); 
        });
 
    </script>
    <?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_dev_num_limit', 30 );

Dopo aver salvato il modulo, gli utenti incontreranno un errore di convalida se tentano di inserire un numero che non rientra nell'intervallo definito nel codice.

ora è possibile limitare l'intervallo di numeri utilizzando la classe CSS una volta aggiunto lo script

Una volta che lo snippet è stato aggiunto e attivo sul sito, è sufficiente aggiungere la classe CSS a qualsiasi modulo e a qualsiasi campo per far scattare lo snippet; questo snippet può quindi essere utilizzato con più campi, moduli e voci di prezzo.

Limitare solo i numeri pari

Per aggiungere un valore di passo per imporre la selezione dei soli numeri pari, utilizzare il seguente frammento di codice:

/**
 * Limit number range in multiples of 2
 * Apply the class "wpf-num-limit" to the field to enable.
 *
 * @link https://wpforms.com/developers/how-to-limit-range-allowed-in-numbers-field/
 */

function wpf_dev_num_limit() {
    ?>
    <script type="text/javascript">
        jQuery(function(){
			
			// Minimum accepted number is 20
			// Maximum accepted number is 40
			// Only accept multiples of 2
			jQuery( '.wpf-num-limit input' ).attr( { 'min':20, 'max':40, 'step': 2 }  ); 
			
        });
    </script>
    <?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_dev_num_limit', 30 );

Lavorare con più moduli

Utilizzare il seguente snippet quando si utilizzano classi CSS diverse per impostare intervalli unici per moduli diversi:

In questo esempio, utilizziamo i parametri wpf-num-limit-max-under-twenty e wpf-num-limit-max-under-fifty.

/**
 * Two different CSS classes in the same function
 * Apply the class "wpf-num-limit" to the field to enable.
 *
 * @link https://wpforms.com/developers/how-to-limit-range-allowed-in-numbers-field/
 */

function wpf_dev_num_limit() {
    ?>
    <script type="text/javascript">
        jQuery(function(){
			
			// Minimum set to 0, maximum set to 20
			jQuery( '.wpf-num-limit-max-under-twenty input' ).attr({ 'min':0, 'max':20 }); 
                        // Minimum set to 21, maximum set to 50
			jQuery( '.wpf-num-limit-max-under-fifty input' ).attr({ 'min':21, 'max':50 }); 
			
        });
    </script>
    <?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_dev_num_limit', 30 );

Personalizzazione del messaggio di errore

Utilizzare il seguente frammento di codice per modificare il messaggio di errore predefinito che appare quando gli utenti inseriscono numeri non validi.

/**
 * Limit number range allowed for a Numbers field
 * Apply the class "wpf-num-limit" to the field to enable.
 *
 * @link https://wpforms.com/developers/how-to-limit-range-allowed-in-numbers-field/
 */

function wpf_dev_num_limit() {
    ?>
    <script type="text/javascript">
        jQuery(function(){
 
            // Minimum 5, maximum 20
            jQuery( '.wpf-num-limit input' ).attr({ 'min':5, 'max':20 } ); // Define number limits
        });
 
		// Message to be displayed if the min and or max is not met
		jQuery.extend(jQuery.validator.messages, {
            max: jQuery.validator.format( "We apologize, there can only be a max allowance of {0}." ),
            min: jQuery.validator.format( "We apologize, there needs to be a minimum allowance of {0}." )
        });
		
    </script>
    <?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_dev_num_limit', 30 );

Questo conclude il processo! Si è riusciti a impostare il valore minimo e massimo consentito per il campo Numeri. Se si desidera personalizzare l'indicatore del campo obbligatorio, si può consultare il nostro articolo su Come modificare l'indicatore del campo obbligatorio per ulteriori dettagli.

Azione di riferimento

wpforms_wp_footer_end