diff --git a/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs
index 10b3a65b..96bd0278 100644
--- a/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs
+++ b/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs
@@ -1,9 +1,10 @@
using System.ComponentModel.DataAnnotations;
using Dlhis.Entity.Device.Enums;
+using Kurisu.AspNetCore.Utils.Extensions;
namespace Dlhis.Basic.Device.Request;
-public class DeviceSaveRequest
+public class DeviceSaveRequest : IValidatableObject
{
public long? Id { get; set; }
@@ -70,4 +71,17 @@ public class DeviceSaveRequest
/// 是否启用
///
public bool Enable { get; set; }
+
+ ///
+ /// 是否作为考勤设备
+ ///
+ public bool AsAttendance { get; set; }
+
+ public IEnumerable Validate(ValidationContext validationContext)
+ {
+ if (Type != DeviceTypeEnumType.Door && AsAttendance)
+ {
+ yield return new ValidationResult($"{DeviceTypeEnumType.Door.GetDescription()}才可设置作为考勤设备", new[] { nameof(AsAttendance) });
+ }
+ }
}