2017-01-17 3 views
0

Ich erstelle ein Formular mit einem Kontonummernfeld. Diese Kontonummer hat 5 Textfelder mit jeweils size = '1'.Wie validiere ich das Feld auf der letzten Box?

<div class="accountNumberWrapper"> 
    <input class="oneDigit" name="oneDigit" size="1" /> 
    <input class="twoDigit" name="twoDigit" size="1" /> 
    <input class="threeDigit" name="threeDigit" size="1" /> 
    <input class="fourDigit" name="fourDigit" size="1" /> 
    <input class="fiveDigit" name="fiveDigit" size="1" /> 
</div> 

Ich bin mit jQuery Validation Plugin, und will die Kontonummer auf focusout der fünften Box nur validieren. Ich habe unten Code verwendet, aber es ist Validierung auf Registerkarte aus jeder Box,

rules: { 
    'oneDigit': "meterReading", // custom method 
    'twoDigit': "meterReading", 
    'threeDigit': "meterReading", 
    'fourDigit': "meterReading", 
    'fiveDigit': "meterReading" 
},  
groups:{ 
    'meter_reading': "oneDigit twoDigit threeDigit fourDigit fiveDigit" 
} 

Bitte schlagen Sie vor.

+0

ich meine Antwort aktualisiert, unten sehen, ob es was Sie –

Antwort

0

können Sie jQuery Event-Handler verwenden:

$("#target").focus(function() { 
    /** Your code here **/ 
}); 

Mehr über Fokus Event-Handler: https://api.jquery.com/focus/

$("#target").focusout(function() { 
    /** Your code here **/ 
}); 

Mehr über focusout Event-Handler: https://api.jquery.com/focusout/

Und für .valid() Methode jQuery-Validierungs-Plugin https://jqueryvalidation.org/valid/

+0

nicht jQuery Weg gesucht, ich bin auf der Suche nach einer Lösung jQuery Validator-Plugin! –

0

Sie können das jQuery-Ereignis focusOut mit der Validierungsmethode .valid() verwenden.

In Ihrem Fall wäre es:

$(".fiveDigit").on('focusout', function() { 
     $(".accountNumberWrapper input").valid(); 
    } 
); 
+0

Nicht nur $ (". FiveDigit"). Valid(); Sie müssen alle 5 Ziffern - die gesamte Kontonummer - auf den Fokus der fünften Box überprüfen. –

+0

@SouvikBanerjee Ich habe nicht verstanden, was Sie wollten, ich habe meine Antwort aktualisiert –

0

ich die Kontonummer auf focusout der fünften Box nur

validieren möge einen benutzerdefinierten focusout Handler schreiben, die einen Validierungstest löst aus das ganze Formular auf dem focusout Ereignis der fünften Box.

$('[name="fiveDigit"]').on('focusout', function() { 
    $('#myform').valid(); // trigger validation of form 
}); 

aber es ist die Validierung auf dem Registerkarte aus jeder Box

Auch die Standard-onfocusout Option des Plug-ins deaktivieren, so dass die Validierung nicht ausgelöst wird, wenn Sie zwischen den Feldern zu bewegen.

onfocusout: false 

DEMO: jsfiddle.net/6mqtqeos/

Verwandte Themen