在提交表单之前,我需要验证用户的输入字段值。 我已经在我的自定义控制器中创建了一个动作,并用Month装饰了该字段。
[Required]
[DataType(DataType.Date)]
//[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:Y}")]
[DisplayFormat(DataFormatString = "{0:dd/MMM/yyyy}")]
[Display(Name = "Month")]
[Remote("IsvalidMonth", "Objectives", AdditionalFields = "UserID,SalesObjectiveID", ErrorMessage = "Month already existing")]
//[DisplayFormat(DataFormatString = "{0:MMM-yyyy}")]
public Nullable<System.DateTime> Month { get; set; }
我的验证是:
public JsonResult IsvalidMonth(DateTime Month, int? SalesObjectiveID, int? UserID)
{
var monthexist = _context.TBL_SalesObjective.Where(x => x.Month == Month && x.SalesObjectiveID == SalesObjectiveID && x.UserID == UserID).FirstOrDefault().Month;
return Json(!monthexist, JsonRequestBehavior.AllowGet);
}
但我不能使用!monthexist,因为操作员!无法应用。
我如何在Monht中进行验证?
答案 0 :(得分:0)
'!'运算符可以与布尔值一起使用,这里因为您正在执行.FirstOrDefault().Month
而不是布尔值,所以不能使用'!'运算符。
请在您的IsvalidMonth()
方法中尝试以下代码
var monthexist = _context.TBL_SalesObjective.Any(x => x.Month == Month && x.SalesObjectiveID == SalesObjectiveID && x.UserID == UserID);