50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
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");
|
|
}
|
|
} |