From bb24becf8655bc6c9581f9cf57669f148e6ef5e8 Mon Sep 17 00:00:00 2001
From: Argo-Cloud
Date: Sat, 20 Mar 2021 15:56:39 +0800
Subject: [PATCH 01/12] =?UTF-8?q?refactor:=20=E5=A2=9E=E5=8A=A0=E7=BA=A7?=
=?UTF-8?q?=E8=81=94=E5=8F=82=E6=95=B0=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../BootstrapBlazorDataAnnotationsValidator.cs | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/BootstrapBlazor/Components/ValidateForm/BootstrapBlazorDataAnnotationsValidator.cs b/src/BootstrapBlazor/Components/ValidateForm/BootstrapBlazorDataAnnotationsValidator.cs
index 66f78c0c7..b9e0451bf 100644
--- a/src/BootstrapBlazor/Components/ValidateForm/BootstrapBlazorDataAnnotationsValidator.cs
+++ b/src/BootstrapBlazor/Components/ValidateForm/BootstrapBlazorDataAnnotationsValidator.cs
@@ -4,11 +4,13 @@
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Forms;
+using System;
+using System.Diagnostics.CodeAnalysis;
namespace BootstrapBlazor.Components
{
///
- /// DataAnnotationsValidator 验证组件
+ /// BootstrapBlazorDataAnnotationsValidator 验证组件
///
public class BootstrapBlazorDataAnnotationsValidator : ComponentBase
{
@@ -29,7 +31,19 @@ namespace BootstrapBlazor.Components
///
protected override void OnInitialized()
{
- CurrentEditContext!.AddEditContextDataAnnotationsValidation(EditForm!);
+ if (EditForm == null)
+ {
+ throw new InvalidOperationException($"{nameof(BootstrapBlazorDataAnnotationsValidator)} requires a cascading " +
+ $"parameter of type {nameof(ValidateForm)}. For example, you can use {nameof(BootstrapBlazorDataAnnotationsValidator)} " +
+ $"inside an {nameof(ValidateForm)}.");
+ }
+
+ if (CurrentEditContext == null)
+ {
+ throw new InvalidOperationException($"{nameof(BootstrapBlazorDataAnnotationsValidator)} requires a cascading parameter of type {nameof(EditContext)}. For example, you can use {nameof(BootstrapBlazorDataAnnotationsValidator)} inside an EditForm.");
+ }
+
+ CurrentEditContext.AddEditContextDataAnnotationsValidation(EditForm);
}
}
}
--
Gitee
From c44dd1aeedfd4653a41b3c522e9146d434390144 Mon Sep 17 00:00:00 2001
From: Argo-Cloud
Date: Sat, 20 Mar 2021 16:35:22 +0800
Subject: [PATCH 02/12] =?UTF-8?q?feat:=20Validate=20=E7=BB=84=E4=BB=B6=20i?=
=?UTF-8?q?d=20=E7=94=9F=E6=88=90=E8=A7=84=E5=88=99=E5=A2=9E=E5=8A=A0=20Mo?=
=?UTF-8?q?del=20=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/BootstrapBlazor/Components/Validate/ValidateBase.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/BootstrapBlazor/Components/Validate/ValidateBase.cs b/src/BootstrapBlazor/Components/Validate/ValidateBase.cs
index 73216a508..8214d0e52 100644
--- a/src/BootstrapBlazor/Components/Validate/ValidateBase.cs
+++ b/src/BootstrapBlazor/Components/Validate/ValidateBase.cs
@@ -188,7 +188,7 @@ namespace BootstrapBlazor.Components
[Parameter]
public override string? Id
{
- get { return (EditForm != null && !string.IsNullOrEmpty(EditForm.Id) && FieldIdentifier != null) ? $"{EditForm.Id}_{FieldIdentifier.Value.FieldName}" : _id; }
+ get { return (EditForm != null && !string.IsNullOrEmpty(EditForm.Id) && FieldIdentifier != null) ? $"{EditForm.Id}_{FieldIdentifier.Value.Model.GetHashCode()}_{FieldIdentifier.Value.FieldName}" : _id; }
set { _id = value; }
}
--
Gitee
From 0136d664e2edc5ca19b02d65c81cd389fcf10e45 Mon Sep 17 00:00:00 2001
From: Argo-Cloud
Date: Sun, 21 Mar 2021 00:38:26 +0800
Subject: [PATCH 03/12] =?UTF-8?q?feat:=20Lambda=20=E6=89=A9=E5=B1=95?=
=?UTF-8?q?=E6=96=B9=E6=B3=95=E5=A2=9E=E5=8A=A0=20GetPropertyValue=20?=
=?UTF-8?q?=E6=96=B9=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Extensions/LambdaExtensions.cs | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/BootstrapBlazor/Extensions/LambdaExtensions.cs b/src/BootstrapBlazor/Extensions/LambdaExtensions.cs
index d15f7143a..9fbad5222 100644
--- a/src/BootstrapBlazor/Extensions/LambdaExtensions.cs
+++ b/src/BootstrapBlazor/Extensions/LambdaExtensions.cs
@@ -3,6 +3,7 @@
// Website: https://www.blazor.zone or https://argozhang.github.io/
using BootstrapBlazor.Components;
+using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Reflection;
@@ -365,6 +366,21 @@ namespace System.Linq
return Expression.Lambda>(body, param_p1, param_p2);
}
+ private static readonly ConcurrentDictionary<(Type ModelType, string FieldName), Func
-
+