2017-05-09 2 views
0

J'utilise la validation côté client sur un champ caché dans asp.net MVC. J'utilise la validation requise en utilisant des annotations de données. J'essaie de valider le champ caché mais ça ne marche pas.Validation obligatoire sur un champ caché

Mon modèle

[Required(ErrorMessage = "From date is required")] 
public DateTime? FromDate { get; set; } 

Mon Voir

@Html.HiddenFor(m => m.FromDate, new { ID = "hfdFromDate" } 

@Html.ValidationMessageFor(m => m.FromDate) 

Je voudrais savoir comment je peux obtenir le même, les petites entrées sur le même est également très apprécié.

Merci d'avance.

+1

La duplication possible de [Validation de jquery ASP MVC dans les onglets d'amorçage provoque une publication indésirable] (http://stackoverflow.com/questions/35844336/asp-mvc-jquery-validation-in-bootsrap-tabs-causes-an- –

+0

Pouvez-vous vérifier si l'objet de réception sur votre méthode contient les données sur le champ caché? Si oui, pouvez-vous également vérifier si ModelState.IsValid()? – ljpv14

+2

Comment définiriez-vous la valeur dans un champ caché. Si l'utilisateur ne définit pas de valeur dans un champ caché, il n'y a pas besoin de champ caché. Et si vous définissez une valeur dans un champ caché, il n'y aura pas besoin de validation de champ obligatoire. –

Répondre

0

Ajout de cette ligne avant form.valid().

form.data("validator").settings.ignore = ""; 

où forme est votre élément de formulaire. Dans mon cas:

var form = $("#myForm"); 
1

Comme certains ont souligné la validation est pas été effectuée car la propriété est définie « cachée ». Je eu le même problème et a fini par utiliser la balise de style:

@Html.TextBoxFor(m => @Model.Foo, new { style = "visibility:hidden"}) 

La validation est ensuite réalisée.