[英]Custom Validation Attribute not validating on Model - WebAPI C# and JSON
[英]Custom Validation Attribute for model C#
我有一個 model
public class SendEmail
{
public bool IsScheduled { get; set; }
public DateTime ScheduleDate { get; set; }
public List<ScheduleAttachement> ScheduleAttachement {get; set;}
}
public class ScheduleAttachement
{
public string Name { get; set; }
public string Attachement { get; set; }
}
我想做一個自定義驗證來檢查 bool IsScheduled == true,ScheduleAttachement 必須包含一個值。 如果不拋出 400 錯誤請求
if (SendEmail.IsScheduled)
{
//true, in here you can check for a value:
if(SendEmail.ScheduleAttachement == null || (!SendEmail.ScheduleAttachement.Any()))
{
//list is null or empty, throw error
}
}
less 代碼列表 null 或空檢查:
if (list?.Any() != true)
{
//list is null or empty, throw error
}
在你的controller層
var emailToCheck = new SendEmail();
if (!emailToCheck.IsScheduled && emailToCheck.ScheduleAttachement.Count() == 0)
{
return BadRequest();
}
如果您想添加自定義消息查找此答案。
編輯
if (!emailToCheck.IsScheduled && emailToCheck.ScheduleAttachement?.Where(x => x.Attachment != null && x.Name != null).Count() > 0)
{
return BadRequest();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.