using System.ComponentModel.DataAnnotations; using BlazorApp.Components.Pages.ValidationPage; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Forms; namespace BlazorApp.Components.Pages.ValidationPage; public partial class Validation : ComponentBase { private LoginModel login = new LoginModel(); private EditContext editContext; private bool isIdValid = false; private bool isPwValid = false; private bool isEmailValid = false; protected override void OnInitialized() { Console.WriteLine("Oninitialized"); editContext = new EditContext(login); Console.WriteLine(isPwValid); // editContext.OnFieldChanged += HandleFieldChanged; } private void HandlerInputChange() { Console.WriteLine("HandlerInputChange"); // 유효성 검사가 발생했다? = true tryCheckValidate(); StateHasChanged(); } private void tryCheckValidate() { editContext.Validate(); Console.WriteLine($"{isIdValid}, {isPwValid}, {isEmailValid}"); Console.WriteLine(editContext.GetValidationMessages(() => login.Id).Any()); Console.WriteLine(editContext.GetValidationMessages(() => login.Pw).Any()); Console.WriteLine(editContext.GetValidationMessages(() => login.Email).Any()); isIdValid = !editContext.GetValidationMessages(() => login.Id).Any(); isPwValid = !editContext.GetValidationMessages(() => login.Pw).Any(); isEmailValid = !editContext.GetValidationMessages(() => login.Email).Any(); } private void HandleValidSubmit() { // 유효성 검사에 성공했을 때의 처리 Console.WriteLine("Form submitted successfully"); } }