Javascript, controllo secondo campo

Pubblicità

nivaria_achinet

Utente Attivo
Messaggi
437
Reazioni
30
Punteggio
41
Buongiorno,
abbiamo bisogno di fare un controllo nel nostro software in un determinato campo.
Praticamente c'è un database pieno di nickname suddiviso in "da usare" e "usati".
L'utente che vuole entrare nel nostro software deve digitare uno dei nickname presenti nella tabella "da usare".
Fatto ciò, passa alla schermata successiva dove deve digitare nuovamente il nickname digitato in precedenza.
In questo caso non viene effettuato nessun controllo nel sistema.
Per non complicare la vita, vorrei che, quando l'utente digita il nickname per la seconda volta, il sistema faccia un controllo per vedere se è presente nella tabella "usati".
Se il nickname è presente nella tabella "usati", allora l'utente può entrare. Se non lo è, invece, viene mostrato un messaggio di errore.
Se volete, vi copio e incollo la porzione di codice interessata.
Grazie.
 
Ciao, si è meglio se mostri del codice.
Comunque quando parli di tabella parli di database? Presumo sia NodeJs in tal caso, e non codice lato client.
 
Ciao, si è meglio se mostri del codice.
Comunque quando parli di tabella parli di database? Presumo sia NodeJs in tal caso, e non codice lato client.
Si, quando parlo di tabelle intendo quelle del database.

Questo è il codice di quando inseriscono il nickname la prima volta:
JavaScript:
$(document).find('.ays_next.start_button').on('click',function(e){
var $this = $(this);
var thisCont = $this.parents('.ays-quiz-container');
var quizId = thisCont.find('input[name="ays_quiz_id"]').val();
var myOptions = JSON.parse(window.atob(window.aysQuizOptions[quizId]));
var checkQuizGeneratedNickname = checkQuizNickname(e, myOptions, false);
if(checkQuizGeneratedNickname){
if(myOptions.enable_nickname && myOptions.enable_nickname == 'on'){
if(myOptions.generate_nickname && myOptions.generate_nickname == 'generated_nickname'){
var userGeneratedNicknameVal = $this.parents('.ays-quiz-container').find('.ays_quiz_nickname').val();
var userData = {};
userData.action = 'ays_generated_used_nicknames';
userData.userGeneratedNickname = userGeneratedNicknameVal;
userData.quizId = quizId;
$.ajax({
url: quiz_maker_ajax_public.ajax_url,
method: 'post',
dataType: 'json',
data: userData,
success: function (response) {
if(response.status){
}
}
});
}
}
}
Qui il sistema verifica che il nickname sia inserito nella tabella "da usare" e che non sia nella tabella "usati".
Se il nickname è presente nella tabella "da usare", allora l'utente passa al secondo campo che devo far convalidare al sistema. Se, invece, il nickname è all'interno di "usati", allora compare un messaggio di errore.
Allora l'utente può cliccare sul pulsante "avanti".
Appena clicca sul pulsante, viene cambiata la schermata e succede che dopo aver inserito per la prima volta uno dei nickname disponibili, esso si sposta in automatico da "da usare" a "usati".
 
Ultima modifica da un moderatore:
Adesso, io del secondo campo che dovrei far convalidare, non ho nessun codice javascript già scritto.
Però ho un ID, che per facilità chiamerò #ilmiocampo.
Ho pensato di creare un EventListener collegato a #ilmiocampo che mi verifichi che il nickname scritto sia già presente all'interno della tabella "usati". Se c'è, allora l'utente può entrare ne software. Se NON c'è, allora viene fuori un avviso di errore.
--- i due messaggi sono stati uniti ---
Se vuoi posto anche foto o video delle schermate per facilitare la comprensione.
 
Mi sfugge il perchè un utente debba digitare due volte il nickname da utilizzare.
O gli fai scegliere un nickname e verifichi che sia "libero", o gli presenti una lista di nickname dai quali può scegliere. In entrambi i casi occhio alla Concurrency.

Una volta convalidato il nick lo metti in un cookie o in cosa usi per "source of truth" e lo puoi utilizzare.
 
Pubblicità
Pubblicità
Indietro
Top