2017-05-09 91 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"}) 

验证。