From 300cb3ab01c33e56bc5b66beadaadd34f3ee3dc1 Mon Sep 17 00:00:00 2001 From: Saleh Yusefnejad Date: Mon, 13 Jan 2025 13:31:48 +0330 Subject: [PATCH 1/3] fix validatorRef null check issue on singin page of Boilerplate #9667 --- .../Components/Pages/Identity/SignIn/SignInPage.razor.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs index 414e9075e2..3e2c836fee 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs @@ -36,7 +36,7 @@ public partial class SignInPage : IDisposable private bool requiresTwoFactor; private SignInPanelTab currentSignInPanelTab; private readonly SignInRequestDto model = new(); - private AppDataAnnotationsValidator validatorRef = default!; + private AppDataAnnotationsValidator? validatorRef; private Action unsubscribeIdentityHeaderBackLinkClicked = default!; @@ -122,7 +122,7 @@ private async Task DoSignIn() CleanModel(); - if (validatorRef.EditContext.Validate() is false) return; + if ((validatorRef?.EditContext.Validate() ?? false) is false) return; model.DeviceInfo = telemetryContext.Platform; @@ -212,13 +212,13 @@ private void CleanModel() if (currentSignInPanelTab is SignInPanelTab.Email) { model.PhoneNumber = null; - validatorRef.EditContext.NotifyFieldChanged(validatorRef.EditContext.Field(nameof(SignInRequestDto.PhoneNumber))); + validatorRef?.EditContext.NotifyFieldChanged(validatorRef.EditContext.Field(nameof(SignInRequestDto.PhoneNumber))); } if (currentSignInPanelTab is SignInPanelTab.Phone) { model.Email = null; - validatorRef.EditContext.NotifyFieldChanged(validatorRef.EditContext.Field(nameof(SignInRequestDto.Email))); + validatorRef?.EditContext.NotifyFieldChanged(validatorRef.EditContext.Field(nameof(SignInRequestDto.Email))); } } From de186473786b0eb512cf78518563b5c057ad1b18 Mon Sep 17 00:00:00 2001 From: Saleh Yusefnejad Date: Mon, 13 Jan 2025 13:33:09 +0330 Subject: [PATCH 2/3] remove redundant null check --- .../Components/Pages/Identity/SignIn/SignInPage.razor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs index 3e2c836fee..1e9fc36f85 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs @@ -122,7 +122,7 @@ private async Task DoSignIn() CleanModel(); - if ((validatorRef?.EditContext.Validate() ?? false) is false) return; + if (validatorRef?.EditContext.Validate() is false) return; model.DeviceInfo = telemetryContext.Platform; From 83222660c018dfe099e5ed28e0a664d59863b7b7 Mon Sep 17 00:00:00 2001 From: Saleh Yusefnejad Date: Mon, 13 Jan 2025 13:42:03 +0330 Subject: [PATCH 3/3] fix other null check issues --- .../Pages/Identity/SignIn/SignInPage.razor.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs index 1e9fc36f85..34eb6eb747 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Identity/SignIn/SignInPage.razor.cs @@ -212,13 +212,16 @@ private void CleanModel() if (currentSignInPanelTab is SignInPanelTab.Email) { model.PhoneNumber = null; - validatorRef?.EditContext.NotifyFieldChanged(validatorRef.EditContext.Field(nameof(SignInRequestDto.PhoneNumber))); - } + if (validatorRef is null) return; - if (currentSignInPanelTab is SignInPanelTab.Phone) + validatorRef.EditContext.NotifyFieldChanged(validatorRef.EditContext.Field(nameof(SignInRequestDto.PhoneNumber))); + } + else { model.Email = null; - validatorRef?.EditContext.NotifyFieldChanged(validatorRef.EditContext.Field(nameof(SignInRequestDto.Email))); + if (validatorRef is null) return; + + validatorRef.EditContext.NotifyFieldChanged(validatorRef.EditContext.Field(nameof(SignInRequestDto.Email))); } }