necessità di restituire true o false in base a se il valore nel campo di testo è un numero specifico
-
26-09-2019 - |
Domanda
Sto cercando di tornare vero se l'utente ha immesso 4 nel campo di immissione.
function validateAddition() {
if($("#validateAddition").val() == 4) {
return true;
} else {
return false;
}
}
<input value=""
class="validate[required,onlyNumber,length[0,1]funcCall[validateAddition]] text-input"
type="text" id="validateAddition" name="validateAddition" />
Aggiunto questo nel file di lingua inglese js:
"validateAddition":{
"nname":"validateAddition",
"alertText":"* Your math is off, try again."}
Questo dovrebbe andare bene, fatemi sapere cosa ne pensate è sbagliato.
Soluzione
http://www.w3schools.com/jsref/jsref_parseInt.asp
return (parseInt($('#validateAddition').val()) == 4)
EDIT: MooGoo è corretto, mi sono sbagliato per quanto riguarda la mia spiegazione
.Tuttavia è l'idea di usare + val non è probabilmente il migliore. Mentre il metodo di cui sopra lavoro sarà, come si richiede una soluzione molto migliore sarebbe la seguente:
if(($('#validateAddition').val()-0) == 4)
Il motivo che vogliamo -0 al contrario di +0 è semplicemente perché se si tratta di una stringa e si desidera eseguire operazioni aggiuntive in caso lo è, non avrà più la stringa originale.
Altri suggerimenti
Se si desidera consentire ad altri personaggi come bene e tornare vero solo se il testo di campo di input contiene 4, si dovrebbe fare in questo modo, invece:
if($("#validateAddition").val().indexOf('4') != -1) {
Si renderebbe sence per confrontare il valore in una stringa, dal momento che il valore è una stringa. Ciò consente di utilizzare eguali severe evitando inutili conversioni automatiche. Inoltre è possibile semplificare la funzione.
function validateAddition() {
return $("#validateAddition").val() === "4";
}
Si può mettere il vostro convalida nel file di lingua, cercando qualcosa di simile
"validateAddition": {
"regex": /[0-3]|[5-9]/,//something that matches on all numbers but four
"alertText": "* Your math is off, try again."
},