2016-07-19 13 views
0

Ich habe ein verstecktes Feld, Geburtsdatum und verwende das folgende jQuery-Plugin, um 3 Dropdown-Listen zu erstellen.Jquery-Validierung in einem Auswahlfeld verhindern

https://github.com/IckleChris/jquery-date-dropdowns

Diese die folgende Quelle geben.

<label class="control-label" for="Applicant_DateOfBirth">Date of Birth</label> 
<span class="field-validation-valid" data-valmsg-for="Applicant.DateOfBirth" data-valmsg-replace="true"></span> 

<div class="date-dropdowns"> 
<select class="day selectdob valid ignore" name="date_[day]" data-val="false" aria-invalid="false"> 
<option value="">Day</option> 
<option value="01">01</option> 
<option value="02">02</option> 
.... 
</select> 

** pseudo code to show additional select fields within div ** 
<select for month> 
<select for year> 

<input class="invisible valid" data-val="true" data-val-required="Please enter your date of birth" id="Applicant_DateOfBirth" name="Applicant.DateOfBirth" type="text" value="" aria-required="true" aria-describedby="Applicant_DateOfBirth-error" aria-invalid="false"> 
</div> 

Ich habe versucht, Onclick die Validierung Einstellung onkeyup und onfocusout alle falsch und auch die Daten-val auf false gesetzt, wie hier vorgeschlagen:

Preventing jquery validation on drop down bound to int?

Leider ist die Validierung noch ausgelöst auf jede Änderung der Auswahlfelder.

Das jQuery-Plugin aktualisiert nur das ausgeblendete Feld, wenn eine gültige Auswahl aller 3 Auswahlfelder getroffen wird, also bin ich sicher, dass dies nicht das Problem ist.

Wer in der Lage zu empfehlen, wie die Validierung auf den Feldern, um zu deaktivieren, aber die Validierung auf dem Eingabefeld

Hinweis des Eingabefeld verborgen ist nicht für Debug-Zwecke zu halten.

Ich bin mit jQuery Validate + unaufdringlich mit MVC .Net 4.6

Ich versuche das ignorieren, aber auch hier hat das nicht die Validierung der Auswahlfelder verhindern.

Aktuelle Validate Aufruf:

$(form).validate({ 
onclick: false, 
onkeyup: false, 
onfocusout: false, 
ignore: ".ignore" 
}); 

Bilder Validierung Trigger auf erste Auswahlfeldänderung zu zeigen, ist Ende Feld der Applicant.DateOfBirth Eingang, der versteckt wird.

enter image description here

+0

markieren Unter der Annahme, Sie verwenden die jQuery validate plugin, setze den 'ignore' Selektor: https://jqueryvalidation.org/validate/#ignore –

+0

Deine Validierung gilt für leere Werte? Sie können versuchen, $ $ ("Eingabe"). dateDropdowns ({ erforderlich: true }); ' – CMedina

+0

Danke für den Vorschlag zu ignorieren, habe es versucht, aber keinen Erfolg –

Antwort

0

Hier ist die einfachste Art und Weise Validate zu verhindern fields ausgewählt, select etc

einfach den Namen des Feldes hinzufügen und als required:false,

rules: { 
 
      NameOfField: { 
 
      required:false, // false will not give permission to this for validation 
 
      }, 
 

 
     },

Verwandte Themen