MVC champ caché en cours de validation

J'ai un peu de champs sur ma page, qui apparaissent pour disparaître et selon le menu déroulant des sélections de vous rendre sur la page.

Ainsi, par exemple, j'ai

<section>
            @Html.LabelFor(model => model.AuctionTypeId)
            <div> @Html.DropDownList("AuctionTypeId", Model.AuctionTypes, @AuctionControllerResource.SelectAuctionType, new { id="auctionType", required = "required" })
                @Html.ValidationMessageFor(model => model.AuctionTypeId)       </div>
        </section>
        <section>
            @Html.LabelFor(model => model.AutomaticExtensionType, new { hidden = "true", id = "automaticExtensionTypeLabel" })
            <div> @Html.DropDownList("AutomaticExtensionType", Model.AutomaticExtensions, @AuctionControllerResource.SelectAutomaticExtensionType, new { hidden="hidden", required = "required", id = "automaticExtensionTypeList" }) 
                @Html.ValidationMessageFor(model => model.AutomaticExtensionType)       </div>
        </section>

Le JQuery, le code que j'ai pour ce qui est

$('#auctionType').change(function () {
    var selectedAuctionType = $("#auctionType").val();
    var englishAuctionType = $("#englishAuctionTypeId").val();
    if (selectedAuctionType == englishAuctionType) {
        $("#automaticExtensionTypeList").show();
        $("#automaticExtensionTypeLabel").show();
    } else {
        $("#automaticExtensionTypeList").hide();
        $("#automaticExtensionTypeLabel").hide();
    }
});

Maintenant, l'affichage et le masquage de travailler comme ils le devraient. Le problème est que quand je soumettre le formulaire et le champ automaticExtensionTypeList est caché, le formulaire n'a pas soumettre parce que automaticExtensionTypeList est un champ obligatoire. La question est de savoir comment puis-je savoir MVC seulement de valider visible champs?

J'ai eu un coup d'oeil par le biais de certains de JQuery nous l'avons écrit dans ce projet et nous avons cette ligne

$.validator.setDefaults({ ignore: [] });

Apparemment, cela permet caché de validation. Ma question est de savoir quelle ligne de code n'est le contraire?

OriginalL'auteur Sachin Kainth | 2013-03-09