Pārlūkot izejas kodu

增加最大值,最小值校验特性(eg:可用于Excel导入校验)

Signed-off-by: Denny <kingxi@163.com>
Denny 2 gadi atpakaļ
vecāks
revīzija
707a7f3dbb

+ 38 - 0
Admin.NET/Admin.NET.Core/Attribute/MaxValueAttribute.cs

@@ -0,0 +1,38 @@
+// 麻省理工学院许可证
+//
+// 版权所有 (c) 2021-2023 zuohuaijun,大名科技(天津)有限公司  联系电话/微信:18020030720  QQ:515096995
+//
+// 特此免费授予获得本软件的任何人以处理本软件的权利,但须遵守以下条件:在所有副本或重要部分的软件中必须包括上述版权声明和本许可声明。
+//
+// 软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、适用性和非侵权的保证。
+// 在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。
+
+using System;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 最大值校验
+/// </summary>
+public class MaxValueAttribute : ValidationAttribute
+{
+    private double MaxValue { get; }
+
+    /// <summary>最大值</summary>
+    /// <param name="value"></param>
+    public MaxValueAttribute(double value) => this.MaxValue = value;
+
+    /// <summary>最大值校验</summary>
+    /// <param name="value"></param>
+    /// <returns></returns>
+    public override bool IsValid(object value)
+    {
+        return value == null || Convert.ToDouble(value) <= this.MaxValue;
+    }
+
+    /// <summary>Applies formatting to an error message, based on the data field where the error occurred.</summary>
+    /// <param name="name">The name to include in the formatted message.</param>
+    /// <returns>An instance of the formatted error message.</returns>
+    public override string FormatErrorMessage(string name) => base.FormatErrorMessage(name);
+}

+ 35 - 0
Admin.NET/Admin.NET.Core/Attribute/MinValueAttribute.cs

@@ -0,0 +1,35 @@
+// 麻省理工学院许可证
+// 
+// 版权所有 (c) 2021-2023 zuohuaijun,大名科技(天津)有限公司  联系电话/微信:18020030720  QQ:515096995
+// 
+// 特此免费授予获得本软件的任何人以处理本软件的权利,但须遵守以下条件:在所有副本或重要部分的软件中必须包括上述版权声明和本许可声明。
+// 
+// 软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、适用性和非侵权的保证。
+// 在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 最小值校验
+/// </summary>
+public class MinValueAttribute : ValidationAttribute
+{
+    private double MinValue { get; set; }
+
+    /// <summary>最小值</summary>
+    /// <param name="value"></param>
+    public MinValueAttribute(double value) => this.MinValue = value;
+
+    /// <summary>最小值校验</summary>
+    /// <param name="value"></param>
+    /// <returns></returns>
+    public override bool IsValid(object value)
+    {
+        return value == null || Convert.ToDouble(value) > this.MinValue;
+    }
+
+    /// <summary>Applies formatting to an error message, based on the data field where the error occurred.</summary>
+    /// <param name="name">The name to include in the formatted message.</param>
+    /// <returns>An instance of the formatted error message.</returns>
+    public override string FormatErrorMessage(string name) => base.FormatErrorMessage(name);
+}