Asp.net mvc 在MVC4上创建必需的属性

Asp.net mvc 在MVC4上创建必需的属性,asp.net-mvc,data-annotations,Asp.net Mvc,Data Annotations,我有一个模型课,我在其中做了一些类似的事情: [Required] public string Name {get; set;} [Required] public string Username {get; set;} 当我基于此类创建视图并单击submit按钮而不显示任何数据时,它不会显示所需属性的验证消息。为什么? 你必须做一些事情才能让它按照你的期望工作。 首先,您必须确保您具有在.cshtml页面中呈现与特定字段相关的错误消息的设置 @Html.EnableClie

我有一个模型课,我在其中做了一些类似的事情:

  [Required]
  public string Name {get; set;}

  [Required]
  public string Username {get; set;}

当我基于此类创建视图并单击submit按钮而不显示任何数据时,它不会显示所需属性的验证消息。为什么?

你必须做一些事情才能让它按照你的期望工作。 首先,您必须确保您具有在
.cshtml
页面中呈现与特定字段相关的错误消息的设置

@Html.EnableClientSideValiation()
@Html.EnableUnObstructiveJavascript()

// your other form elements
@Html.TextBoxFor(x=> x.Name)
@Html.ValidationMessageFor((x=> x.Name) // this will render validations if any
要在客户端自行进行触发器验证,必须启用客户端验证并包含所需的JS文件

您还应该在服务器端进行适当的检查,在控制器中的操作方法中,您应该有如下内容

[HttpPost]
public ActionResult Save(Your_Type model)
{
    if(ModelState.IsValid()) // it will ensure all your annotations are passed
    {
     // save to server
    // redirect to appropriate page
    }
    else
   {
     return View(model); // it will render same form again with already entered values and errors
    }
}

你必须做一些事情,使它按照你的期望工作。 首先,您必须确保您具有在
.cshtml
页面中呈现与特定字段相关的错误消息的设置

@Html.EnableClientSideValiation()
@Html.EnableUnObstructiveJavascript()

// your other form elements
@Html.TextBoxFor(x=> x.Name)
@Html.ValidationMessageFor((x=> x.Name) // this will render validations if any
要在客户端自行进行触发器验证,必须启用客户端验证并包含所需的JS文件

您还应该在服务器端进行适当的检查,在控制器中的操作方法中,您应该有如下内容

[HttpPost]
public ActionResult Save(Your_Type model)
{
    if(ModelState.IsValid()) // it will ensure all your annotations are passed
    {
     // save to server
    // redirect to appropriate page
    }
    else
   {
     return View(model); // it will render same form again with already entered values and errors
    }
}

首先显示您的视图,并使用验证消息html帮助程序,如下所示

@Html.ValidationMessageFor(m=>m.Name)
在您希望访问其消息的html帮助程序之后使用此选项

更新

您还可以自定义编辑模型,就像

     [Required(ErrorMessage="Enter The Name")]
  public string Name {get; set;}

  [Required(ErrorMessage="Enter The Username")]
  public string Username {get; set;}

首先显示您的视图,并使用验证消息html帮助程序,如下所示

@Html.ValidationMessageFor(m=>m.Name)
在您希望访问其消息的html帮助程序之后使用此选项

更新

您还可以自定义编辑模型,就像

     [Required(ErrorMessage="Enter The Name")]
  public string Name {get; set;}

  [Required(ErrorMessage="Enter The Username")]
  public string Username {get; set;}

您是否包含了jquery验证的相关脚本?您是否为每个属性包含了
@Html.ValidationMessageFor()
。你的vie是否包含表单标签。如果您没有显示您的代码,如何回答这个问题?您是否包含了用于jquery验证的相关脚本?您是否为每个属性包含了
@Html.ValidationMessageFor()
。你的vie是否包含表单标签。如果你不显示你的代码,谁能回答这个问题