복습용 기술공부
c# 도메인 가져오기, Custom Validation 사용방법
01241
2023. 12. 18. 16:22
c# 도메인 가져올 때 _ 6.0V 기준
// 도메인 가져오기
string domain = HttpContext.Request.Host.Value;
// 도메인 및 path 가져오기
string path = HttpContext.Request.Path.Value;
path -> .ToLower()로 소문자 정리 후 사용하기!
Compare Validation ->
[Compare("Name", ErrorMessage = "에러메시지")]
같은 값인지 아닌지 비교, 값이 다르면 validation 띄움
반대로 사용하고 싶을 경우 커스텀 Validation을 사용하기
step 1. Validation Class 추가
// Custom Validation 추가
public IEnumerable<ValidationResult> Validate()
{
var results = new List<ValidationResult>();
if (OldPassword == NewPassword)
{
results.Add(new ValidationResult(
"기존의 비밀번호와 같은 비밀번호는 사용할 수 없습니다.",
new[] { nameof(NewPassword) }));
}
return results;
}
step 2. Model 정의
InputModel inputModel = new InputModel();
--> 만약에 input 모델을 form으로 받고 있다면 아래의 방식으로
public async Task<IActionResult> OnPostAsync(InputModel inputModel)
step 3. Model 사용하기
// 모델 사용
var results = inputModel.Validate();
if (results.Any())
{
foreach (var result in results)
{
ModelState.AddModelError(result.MemberNames.First(), result.ErrorMessage);
}
_logger.LogInformation("같은 비밀번호는 사용할 수 없습니다.");
return Page();
}