2017-05-09 16 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

[bootsrap]タブで[ASP MVC jquery validation]が重複していると、望ましくないポストバックが発生する可能性があります(http://stackoverflow.com/questions/35844336/asp-mvc-jquery-validation-in-bootsrap-tabs-causes-an-望ましくないポストバック) –

+0

メソッドの受信オブジェクトに隠しフィールドのデータが含まれているかどうかを確認できますか?もしそうなら、ModelState.IsValid()もチェックできますか? – ljpv14

+2

どのように非表示フィールドに値を設定しますか。ユーザーが非表示フィールドに値を設定していない場合、非表示フィールドの必要はありません。また、非表示フィールドに値を設定している場合は、フィールドの検証が不要です。 –

答えて

0

この行をform.valid()の前に追加しました。

ここで、formはフォーム要素です。私の場合は :一部として

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

は、「非表示」プロパティが設定されているため、検証が行われていません指摘しています。 私は同じ問題を持っていたとスタイルタグを使用して終了:

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

検証が実行されます。

関連する問題