1
我有一個模型類[MetadataType(typeof(ThisEntityMetaData))]]和[Bind(...)]註釋我需要驗證回發組合屬性值和一個路由參數(viewType)。viewType不是實體類的屬性。到目前爲止,我只能在action的[post]中做這個驗證。我想在實體類或者ThisEntityMetaData類。我該怎麼辦呢?謝謝。在[MetadatType(typeof(myClass)]中驗證多字段
[HttpPost]
[ActionName("Create")]
[AcceptParameter(Name = "Save", Value = "Save")]
[ValidateInput(false)]
public ActionResult Create(int id, thisViewModel newViewModel,
string cancel, enumViewType viewType)
{
/* code omitted */
switch(viewType)
{
case enumViewType.OutAndNoReturn:
case enumViewType.OutAndReturn:
if(!thisEntity.Source.HasValue || !thisEntity.Reason.HasValue)
ViewData["Message"] = "Source, Reason are required.";
break;
case enumViewType.DirectOut:
case enumViewType.IndirectOut:
if ((!thisEntity.Source.HasValue || !thisEntity.Reason.HasValue ||
!thisEntity.Desired.HasValue))
{
thisEntity.ShowOutBlock = true;
ViewData["Message"] = "Source, Reason, Desired are required.";
return View(thisEntity);
}
break;
}
/* code omitted */
}