public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { if (CaseSexType == SexType.詳) { yield return(new ValidationResult("個案性別 有誤。", new[] { "CaseSex" })); } if (CaseBirthday.HasValue && CaseBirthday >= DateTime.Today) { yield return(new ValidationResult("個案生日 有誤。", new[] { "CaseBirthday" })); } if (PsyHistoryType == Enum.MTC.PsyHistoryType.) { if (Diagnose == null || !Diagnose.Any()) { yield return(new ValidationResult("過往精神病史為「有」時,診斷 欄位是必要項。", new[] { "Diagnose" })); } } if (PsyHistoryType == Enum.MTC.PsyHistoryType.詳 && string.IsNullOrWhiteSpace(SymptomOther)) { yield return(new ValidationResult("過往精神病史為「不詳」時,精神疾病症狀-其他 欄位是必要項。", new[] { "SymptomOther" })); } if (Id < 0) { yield return(new ValidationResult("查無此案。", new[] { "Id" })); } else if (Id == 0) //新增 { if (MedicalPersonImage == null) { yield return(new ValidationResult("醫護人員簽名圖檔 欄位是必要項。", new[] { "MedicalPersonImage" })); } } }