[英]MVC Custom non model object validation?
我有一個特殊的場景,我需要驗證不是我的模型的對象並從中獲取所有ValidationResult對象。
所以我的控制器里面有這樣的東西...
public virtual ActionResult(MyObject postData)
{
ICollection someCollection = DoSomething(postData);
foreach(Thing t in someCollection)
{
// validate t and get any ValidationResult objects
// put the validation results in the object property.
// this call isn't real by the way
t.ValidationResults = t.Validate();
}
...
}
它不是我要驗證的模型,而是基於給定的后數據,我需要驗證集合,而驗證失敗的地方,我打算在集合中呈現失敗的對象。
有什么想法可以讓我想要的ValidationResult對象嗎?
您可以將ValidationResults
存儲在ViewBag
,然后從那里渲染它們:
var list = new List<ValidationResult>();
foreach (Thing t in someCollection)
{
t.ValidationResults = t.Validate();
list.AddRange(t.ValidationResults);
}
ViewBag.ValidationResults = list;
現在,很多代碼都作了很多假設,因為您沒有提供很多信息。 但是,無論哪種方式,都可以將這些結果放入整體列表中並將其設置在ViewBag
。 然后,您可以在視圖中利用ViewBag
:
@foreach (ValidationResult r in ViewBag.ValidationResults)
{
<!-- render some HTML here with the r variable -->
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.