Я добавил проверку в мою модель, но когда я пытаюсь применить ее в своем контроллере, он, похоже, не обнаруживает, что код недействителен, и переходит в неверное представление.
Я думаю, что по какой-то причине он не смотрит на объект и обходит это, но я не могу найти способ заставить его проверить меня.
Может ли кто-нибудь мне помочь?
Модель:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace messageBoard.Models
{
public class Messages
{
[Required]
[StringLength(250)]
public string Sender { get; set; }
[Required]
[StringLength(250)]
public string Receiver { get; set; }
public int Year { get; set; }
public string Form { get; set; }
[Required]
public DateTime StartDate { get; set; }
[Required]
public DateTime Expiry { get; set; }
[Required]
[StringLength(250)]
public string Title { get; set; }
[Required]
public string Message { get; set; }
}
}
Контроллер:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TLA_Message_Board.Models;
namespace TLA_Message_Board.Controllers
{
public class MessagesController : Controller
{
// GET: Messages
public ActionResult Load()
{
Messages obj = new Messages {
Sender = "Ross McKenzie",
Receiver = "Noah McKenzie",
Year = 9,
StartDate = new DateTime(2018, 06, 28),
Expiry = new DateTime(2018, 06, 29),
Title = "Title Test",
Message = "This is the first message for the test of the internal message board."
};
return View("Messages",obj);
}
public ActionResult Enter()
{
return View("EnterMessages");
}
public ActionResult Submit()
{
Messages obj = new Messages();
obj.Sender = Request.Form["Sender"];
obj.Receiver = Request.Form["Receiver"];
string year = Request.Form["Year"];
obj.Year = Int32.Parse(year);
string start = Request.Form["StartDate"];
DateTime startParse = DateTime.Parse(start);
obj.StartDate = startParse;
string expiry = Request.Form["Expiry"];
DateTime expiryParse = DateTime.Parse(expiry);
obj.StartDate = expiryParse;
obj.Title = Request.Form["Title"];
obj.Message = Request.Form["Message"];
if(ModelState.IsValid)
{
return View("Messages", obj);
}
else
{
return View("EnterMessages");
}
}
}
}