2016-09-29 3 views
1

Ich mache eine POCO-Klasse mit einigen nicht erforderlichen Felder haben:ASP.NET MVC. Nicht erforderlich Felder sind in Validierungen erforderlich

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; } 
} 

aber wenn ich die [Required] Anmerkung oder nicht. Die Validierung schlägt fehl. Ich habe immer die Meldung "2. Intervall ist erforderlich" aus meiner Sicht.

Ich verwende nur Server-Validierung.

Wie kann ich es lösen?

+3

Machen Sie die Eigenschaften auf NULL festlegbaren - 'öffentlichen Timespan? t2 {erhalten; einstellen; } ' –

+0

Es gibt zwei Möglichkeiten: Verwenden von Nullable-Eigenschaften oder Verwenden von' [Bind (Exclude)] '. Ähnliches Problem: http://stackoverflow.com/questions/2142990/the-id-field-is-required-validation-message-on-create-id-not-set-to-required –

Antwort

1

Die TimeSpan NULL ist nicht zulässig standardmäßig

Verwenden Nullable;

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

oder

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

entspricht es öffentlichen TimeSpan? t2 {bekommen; setzen;}? –

Verwandte Themen