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.
Entfernen Sie einfach die '[Erforderlich]' und '[DisplayFormat]' Attribute (und das '[DataType]' Attribut, da dies nur anwendbar ist, wenn Sie 'EditorFor()' verwenden) –
Ich habe das schon getan, aber das Ergebnis ist immer noch gleich –
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. –