2016-09-29 10 views
1

に必要とされている私はいくつかの非必須フィールドでPOCOクラスを持っている:ASP.NET MVC。非必須フィールドが検証

class MyClass{ 

    [DataType(DataType.Time)] 
    [Display(Name = "1st interval")] 
    public TimeSpan t1{ get; set; } 

    [DataType(DataType.Time)] 
    [Display(Name = "2nd interval")] 
    public TimeSpan t2 { get; set; } 

    [DataType(DataType.Time)] 
    [Display(Name = "3rd interval")] 
    public TimeSpan t3 { get; set; } 
} 

が、いつでも、私は[Required]注釈を設定するかどうか。検証は失敗します。 私は常に私の意見に "2番目の間隔が必要です"というメッセージを得ました。

私はのみを使用していますサーバーの検証。

どうすれば解決できますか?

+3

プロパティがNULL可能で作る - '公共のTimeSpanを? t2 {get;セット; } ' –

+0

2つの方法があります:null可能なプロパティを使うか' [Bind(Exclude)] 'を使います。同様の問題:http://stackoverflow.com/questions/2142990/the-id-field-is-required-validation-message-on-create-id-not-set-to-required –

答えて

1

TimeSpanはデフォルト

利用のNullableによってNULL可能ではありません。

public Nullable<TimeSpan> t2 { get; set; } 

または

public TimeSpan? t2 { get; set; } 
+0

は、Publicと同じTimeSpanですか? t2 {get; set;}? –

関連する問題