LabelFor

时间:2015-12-17 08:19:26

标签: c# asp.net-mvc

我有以下代码:

@Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "form-control" } })

我正在寻找一种向其添加html属性required的方法,因此用户无法在不填写字段的情况下提交。但现在肯定该怎么办?我知道简单方法是添加required但不知道如何,我试着@html "reguired"没有任何运气。

编辑: Answere = required =""

2 个答案:

答案 0 :(得分:2)

您可以将RequiredAttribute添加到模型属性中:

[Required(ErrorMessage = "Title is required")]
public string Title { get;set; }

并将ValidationMessageFor添加到您的cshtml:

@Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(m => m.Model)

然后将模型验证添加到控制器方法via。它是asp.net mvc的标准管道。

您还可以实施your own HtmlHepler向html代码添加必需的属性。

答案 1 :(得分:0)

您需要这个用于客户端验证

"~/Scripts/jquery.js"
, "~/Scripts/jquery.validate.js"
,"~/Scripts/jquery.validate.unobtrusive.js"

而对于Controller上的服务器端,或者即使有些人禁用javascript

也是必需的
if (ModelState.IsValid)

如上所述使用注释

[Required(ErrorMessage = "Title is required")]
public string Title { get;set; }

使用Fluent API

    public class ClassNameConfiguration : EntityTypeConfiguration<ClassName>
    {
        public ClassNameConfiguration()
        {
            Property(x => x.Title).IsRequired();
        }
    }