我有一個幫助器類傳遞了一個值的數組,然後傳遞給我的模型中的一個新類。我如何驗證給這個類的所有值是有效的?換句話說,我如何在非控制器類中使用ModelState的功能。檢查模型是否在控制器之外有效
從控制器:
public ActionResult PassData()
{
Customer customer = new Customer();
string[] data = Monkey.RetrieveData();
bool isvalid = ModelHelper.CreateCustomer(data, out customer);
}
從助手:
public bool CreateCustomer(string[] data)
{
Customter outCustomer = new Customer();
//put the data in the outCustomer var
//??? Check that it's valid
}
不幸的是,這種驗證不通過任何複雜的子對象或集合遞歸。 Validator.TryValidateObject(...)只是立即進行屬性和字段驗證,並將其稱爲一天,而不是在MVC世界中的Controller中的模型綁定上發生的驗證,該驗證遍歷整個對象圖。 – neumann1990