dynamiquement supprimer un élément de l'attribut obligatoire en ASP net MVC?

Est-il un moyen, dans un ASP MVC projet à l'aide discrète de la validation, de manière dynamique supprimer l'attribut Obligatoire à partir d'un élément?

L'élément est décoré avec une annotation Requise dans le modèle de vue. Je pensais que je pouvais supprimer ce problème en supprimant l'attribut html, "data-val-requis," avec JQuery, mais la validation sur le client traite toujours l'élément requis. Est-il impossible de manipuler l'élément de validation par la manipulation de la discrète attributs de validation?

C'est ce que j'ai essayé, mais ça ne fonctionne pas. J'ai voulu supprimer l'attribut obligatoire si une case est décochée.

$("#chkTempHire").click(function () {

    var checked = $(this).attr("checked");
    var attr = $("#txtTempHireEndDate").attr("data-val-required");
    var hasAttr = false;

    if (typeof attr !== typeof undefined && attr !== false)
        hasAttr = true;

    if (!checked && hasAttr)
        $("#txtTempHireEndDate").removeAttr("data-val-required");
});

Suis-je raté quelque chose, ou est-il tout simplement pas possible?

Merci!

Une solution consiste à utiliser MVC est toute épreuve de Validation, qui vous permet d'utiliser des attributs tels que RequiredIf.
Conditionnelle de validation est ce que vous cherchez, par exemple: stackoverflow.com/questions/17970584/...
Merci, je suis en utilisant FluentValidation et cela fonctionne pour moi. Je viens d'essayer d'en apprendre plus sur la façon dont la discrète validation fonctionne.

OriginalL'auteur Mike | 2015-07-16