2016-06-10 3 views
0

Warum ist ein TextAreaFor immer nach Bedarf in mvc validiert wird, auch wenn mit dem kommentierten folgend:@ Html.TextAreaFor() immer nach Bedarf validiert sogar kommentiert wenn als Nullable-

public class DepartmentViewModel 
{ 
    public int Id { get; set; } 

    [Required] 
    [Display(Name ="Department Name")] 
    public string DepartmentName { get; set; } 


    [Display(Name = "Remarks")] 
    [DataType(DataType.MultilineText)] 
    [Required(AllowEmptyStrings = true), 
    DisplayFormat(ConvertEmptyStringToNull = false)] 
    public string Remarks { get; set; } 

    [Display(Name = "Cost Center")] 
    public int ? CostCenterId { get; set; } 
} 

und im View Teil I verwenden dies:

<div class="form-group"> 
        @Html.LabelFor(m => m.Remarks, new { @class = "control-label col-md-2 col-sm-12" }) 
        <div class="col-sm-12 col-md-8"> 
         @Html.ValidationMessageFor(m => m.Remarks, "", new { @class = "text-danger" }) 
         @Html.TextAreaFor(m => m.Remarks, new { @class = "form-control", style = "resize: none;", @rows = 10 }) 
        </div> 
</div> 

wenn ich es ändern sein TextBoxFor alles funktioniert. Ich möchte die Anmerkungen als optional markieren, aber mit TextAreaFor ist es immer erforderlich.

+0

Entfernen Sie einfach die '[Erforderlich]' und '[DisplayFormat]' Attribute (und das '[DataType]' Attribut, da dies nur anwendbar ist, wenn Sie 'EditorFor()' verwenden) –

+0

Ich habe das schon getan, aber das Ergebnis ist immer noch gleich –

+1

Das Modell ist nicht ungültig, wenn Sie diese Attribute entfernen. Wenn dies der Fall ist, dann ist anderer Code, den Sie uns nicht zeigen, der das Problem verursacht. –

Antwort

0

Die Attribute [Required] und [DisplayFormat] entfernen. Sie können das Attribut [DataType] auch entfernen, da dies nur bei Verwendung von @Html.EditorFor() gilt. Ihre Immobilie braucht nur

[Display(Name = "Remarks")] 
public string Remarks { get; set; } 

sein, obwohl auch das [Display] Attribut nicht, da sie das gleiche wie die Eigenschaftsnamen erforderlich.

+0

Das displayformat wird auch benötigt –

+0

Das sollte nicht benötigt werden :) –

+0

Ich mache diese Art von Annotation für so lange, aber ich war gerade in diesem Problem gerade jetzt –

Verwandte Themen