我有这样一个模型类:使用ASP .NET MVC模型值验证另一个模型值?
public class SomeClass
{
public int EmployeeId {get;set;}
public int DayTotal {get;set}
}
对于这个模型类,我为“DayTotal”属性创建自定义ValidationAttribute。自定义验证程序将检查输入值'DayTotal'的值与另一个定义允许的最大天数的表。
如何在验证器中编写我的查询时从创建视图中引用选定的'EmployeeId'?
public class DayTotalAttribute : ValidationAttribute
{
ProjectDBContext db = new ProjectDBContext();
public override bool IsValid(object value)
{
if (value == null)
{
return false;
}
var products = from p in db.EmployeeDayMax
where p.EmployeeId = ???
}
}
UPDATE:
我的解决方案已经采取了不同的方法。有用的答案让我在其他地方寻找。这blog从斯科特谷有助于提供一个更简单的方法:
在我的模型 - >
public class SomeClass : IValidateObject
{
public int EmployeeId {get; set;}
public int DayTotal {get; set;}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
ProjectDBContext db = new ProjectDBContext();
//check maxes...can refer directly to EmployeeId in LINQ queries
if(failed)
{
yield return new ValidationResult("Days have been maxed!");
}
调用验证(..)当validationContext如何传递? – RayLoveless 2018-01-10 19:46:24