Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Ridefinire condizione di convalida REQUIRED nelle input text

    Sera a tutti,
    sono 3 giorni che cerco in praticamente tutto il web senza aver trovato nulla che faccia al caso mio, perciò vengo al dunque e spero di trovare consigli utili da voi esperti del settore

    Allora, in brevissimo, ho una form con varie input in alcune delle quali ho utilizzato l'attibuto required in modo che la submit parta solamente se tutti i campi "obbligatori" vengano compilati correttamente.
    In tutte le input ho inserito etichette "volatili" all'interno, per volatili intendo che sono del tipo scritte in grigio chiaro e che scompaiono appena l'utente clicca sulla relativa input per compilare il campo e ricompaiono invece se uscendo dalla input l'utente non ha inserito nulla.
    Es. di input incriminata
    codice:
    <input type="text" name="name" id="input_name" value="name" onfocus="onFocusFunction(this)" onblur="onBlurFunction(this)" required/>
    Ora il mio problema è che, mentre nelle input type di tipo ad es email o password l'attributo required funziona perfettamente (evita di inoltrare la sumbit ed indica di compilare correttamente i campi required), nelle input di tipo testo invece, riconoscendomi l'etichetta interna (value) come valore valido, anche se l'utente non ha inserito nulla vede il campo come non nullo e quindi la relativa input mi viene convalidata.

    Quindi quello che vorrei sapere è, esiste un modo per indicare che l'input può essere convalidato solo se il valore è diverso dal valore di default/etichetta?
    Nel caso questa condizione va inserita come parametro dell'attributo required (es. required="this.value!=this.defaultValue" [che per la cronaca ho già provato e non funziona]) o devo usare un pattern in qualche modo?

    Grazie a tutti per l'attenzione, spero vivamente in qualche consiglio/esperienza diretta che possa fare al caso in questione.
    Ultima modifica di =IngegnerCane=; 06-10-2015 a 20:46

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,690
    ho inserito etichette "volatili"
    Ciao, a mio parere ti stai complicando le cose. Per fare questo esiste l'attributo placeholder che non influisce sul value e tanto meno sul required. Potresti usare quello e risolvere il problema alla radice.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Ciao, a mio parere ti stai complicando le cose. Per fare questo esiste l'attributo placeholder che non influisce sul value e tanto meno sul required. Potresti usare quello e risolvere il problema alla radice.
    Madò che capoccia!
    Non so perchè mi ero impuntato sul value ...eppure placeholder l'ho usato infatti nelle input email e password
    Bha, troppo stress a volte fa sti scherzi ...grazie per avermi riportato sulla retta via Killer, a buon rendere

    P.S. solo per completare il discorso visto che ormai il thread l'ho aperto, sarebbe stato possibile assegnare una qualche condizione supplementare all'attributo required come dicevo?
    Ovvero scrivere tipo required="condizione di validita" o required="validaInput()" ...insomma, nel caso fosse possibile quale sarebbe la prassi?
    Ultima modifica di =IngegnerCane=; 07-10-2015 a 12:14

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,690
    Non c'è di che.

    P.S. solo per completare il discorso visto che ormai il thread l'ho aperto, sarebbe stato possibile assegnare una qualche condizione supplementare all'attributo required come dicevo?
    Ovvero scrivere tipo required="condizione di validita" o required="validaInput()" ...insomma, nel caso fosse possibile quale sarebbe la prassi?
    L'attributo required è solo un flag (vero/falso) per indicare l'obbligo di compilare il campo. Non puoi applicare direttamente delle funzioni di controllo per definirne il suo valore.

    Teoricamente potresti fare qualcosa del genere attraverso l'attributo pattern con l'uso di un'espressione regolare:
    codice:
    <input type="text" name="name" id="input_name" value="name" pattern="^(?!name$).*"  title="Insert your name" required/>
    In questo caso il campo risulta valido solo se il valore non è "name".

    In alternativa si potrebbe effettuare un semplice controllo con qualche riga di JavaScript attraverso l'evento blur.

    Ad ogni modo questo tipo di approccio potrebbe generare dei conflitti. Per assurdo, un utente potrebbe chiamarsi esattamente "name" e voler inserire proprio il valore "name" che, in questo caso, risulterebbe impropriamente non valido.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Si in effetti la soluzione tramite funzione JavaScript legata a qualche evento è stata quella che avevo applicato alla fine, anche se tutto sommato funzionale non mi garbava piu' di tanto, preferivo qualcosa di intrinseco nell'input stesso come puo' essere appunto il required o al massimo un pattern, ma con il placeholder di sicuro mi sono tolto di mezzo tanti altri problemi a catena
    Ancora grazie di tutto killer, alla prossima!

    P.S. se necessario, visto che per me ora è veramente tutto, posso anche aggiungere il tag [Risolto] in titolo ...ditemi voi

    P.P.S. certo che se uno si chiama "name" non riuscire a fare una registrazione online e' l'ultimo dei suoi problemi!
    ....capace ora si presenta in thread un tale Sig.re Name Surname

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,690
    Figurati.

    P.S. se necessario, visto che per me ora è veramente tutto, posso anche aggiungere il tag [Risolto] in titolo ...ditemi voi
    Da quel che so non è usanza di questo forum aggiungere il "risolto", tanto meno viene riportato sul regolamento. Non ho idea del perché... ci fidiamo comunque che tu abbia risolto

    P.P.S. certo che se uno si chiama "name" non riuscire a fare una registrazione online e' l'ultimo dei suoi problemi!
    Immagino.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Buongiorno,
    sono entrato in questo thread poichè sto cercando tramite un pattern di far riconoscere 2 campi (email e conferma email) come errati se non coincidono, pensate sia possibile o dovro' ricorrere a javascript?

    Grazie

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,690
    Ciao, in quel caso dovrai usare JavaScript.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.