2017-05-09 89 views
0

我在asp.net MVC的隱藏字段上使用客戶端驗證。我正在使用所需的驗證使用數據註釋。我試圖驗證隱藏的字段,但它不起作用。隱藏字段的必需驗證

我的模型

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

我查看

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

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

我想知道我怎麼能達到同樣的,在相同的任何小的投入也大爲讚賞。

在此先感謝。

+1

可能重複[ASP MVC jQuery驗證在靴子選項卡導致不希望的回發](http://stackoverflow.com/questions/35844336/asp-mvc-jquery-validation-in-bootsrap-tabs-causes-an-意外回發) –

+0

您可以檢查您的方法上的接收對象是否包含隱藏字段上的數據?如果是這樣,你還可以檢查ModelState.IsValid()嗎? – ljpv14

+2

您將如何在隱藏字段中設置值。如果用戶沒有在隱藏字段中設置值,則不需要隱藏字段。如果您在隱藏字段中設置值,則不需要進行所需的字段驗證。 –

回答

0

在form.valid()之前添加此行。

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

其中form是您的表單元素。 在我的情況:

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

正如一些人指出了驗證,因爲「隱藏」屬性設置不被執行。 我有同樣的問題,並最終使用的風格標籤:然後進行

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

驗證。