Tôi bị ướt chân với Khung thực thể và tự hỏi liệu có cách nào để tôi kiểm tra trạng thái mô hình mà không cần mô hình ràng buộc xảy ra hay không.Tôi có thể kiểm tra modelstate mà không cần modelbinding không?
Giả sử tôi tạo người dùng chủ yếu từ mã, có cách nào để tôi kiểm tra để đảm bảo rằng nó hợp lệ theo chú thích dữ liệu được xác định trước của tôi trước khi tôi cập nhật không?
public ActionResult Index()
{
User u = new User();
u.Username = "test";
u.Password = "test";
u.Email = "test";
DefaultContext db = new DefaultContext();
if (ModelState.IsValid)
{
db.Users.Add(u);
db.SaveChanges();
Response.Write(u.Id);
}
else
// model is not valid
return View();
}
Mã trên không hoạt động vì không có sự ràng buộc nào xảy ra. Hoặc có lẽ tôi đang bối rối về quá trình này.
Cảm ơn.
Tôi học được điều gì mới mỗi khi tôi đến đây. Tôi đã không nhận thức được chức năng ValidateModel() - câu trả lời của Jayantha cũng chính xác và dễ dàng hơn nhiều nếu bạn đang sử dụng ASP.Net MVC. Câu trả lời tôi đưa ra sẽ hoạt động bên ngoài ngữ cảnh của một bộ điều khiển. –
Các công trình trên rất độc đáo khi xác thực mô hình mà không gửi biểu mẫu, trong trường hợp đó 'TryValidateModel' không thành công:' Khi một mô hình đang được xác nhận, tất cả các trình xác nhận cho tất cả các thuộc tính đều chạy nếu ít nhất một đầu vào biểu mẫu bị ràng buộc vào một mô hình property.' Từ đây: https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryvalidatemodel(v=vs.118).aspx – Alex