MVC 3:显示验证消息而不是“'/'中的服务器错误”应用”
我建立了一个人们可以发表评论的网站。 效果很好。但问题是,如果缺少输入,它会显示“服务器错误页面”的详细信息。但对于用户来说,我想显示验证消息。 (例如:- 姓名为必填项)。 我该怎么做呢?
型号
public class Feedback
{
public int FeedbackID { get; set; }
[Required(ErrorMessage="Name is required")]
public string Name { get; set; }
[Required(ErrorMessage = "Today's date")]
[DataType(DataType.Date)]
public DateTime AddedAt { get; set; }
[Required (ErrorMessage="Message is required")]
public string FeedbackMgs { get; set; }
}
public class FeedbackDBContext : DbContext
{
public DbSet<Feedback> Feedbacks { get; set; }
}
控制器
private FeedbackDBContext FeedbackDB = new FeedbackDBContext();
//
// GET: /Feeback/
public ActionResult Feedback()
{
FeedbackEntries model = new FeedbackEntries();
model.Entries = FeedbackDB.Feedbacks.ToList();
return View(model);
}
[HttpPost]
public ActionResult Feedback (FeedbackEntries fd_model)
{
FeedbackDB.Feedbacks.Add(fd_model.Entry);
FeedbackDB.SaveChanges();
fd_model.Entries = FeedbackDB.Feedbacks.ToList();
return View(fd_model);
}
I build a site where people can comment.
It works fine. but the problem is if an input is missing, it displays the "server error page" with detail. But for users, i want to show rather the validation message. (for eg:- Name is required).
How can I do it?
Model
public class Feedback
{
public int FeedbackID { get; set; }
[Required(ErrorMessage="Name is required")]
public string Name { get; set; }
[Required(ErrorMessage = "Today's date")]
[DataType(DataType.Date)]
public DateTime AddedAt { get; set; }
[Required (ErrorMessage="Message is required")]
public string FeedbackMgs { get; set; }
}
public class FeedbackDBContext : DbContext
{
public DbSet<Feedback> Feedbacks { get; set; }
}
Controller
private FeedbackDBContext FeedbackDB = new FeedbackDBContext();
//
// GET: /Feeback/
public ActionResult Feedback()
{
FeedbackEntries model = new FeedbackEntries();
model.Entries = FeedbackDB.Feedbacks.ToList();
return View(model);
}
[HttpPost]
public ActionResult Feedback (FeedbackEntries fd_model)
{
FeedbackDB.Feedbacks.Add(fd_model.Entry);
FeedbackDB.SaveChanges();
fd_model.Entries = FeedbackDB.Feedbacks.ToList();
return View(fd_model);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来您需要:
a)启用客户端验证 - 请参阅此处了解详细信息/选项 http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html
b) 检查在服务器端保存之前查看 modelstate 是否有效:
Looks like you need to:
a) Enable client side validation - see here for details/options http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html
b) Check to see if modelstate is valid prior to saving on the server side: