1
Fluent Validation을 사용하여 데이터를 조정하는 것이 적절합니까? 우리가 전화 번호 필드가 예를 들어 는 서비스 계층이 특정 정규식과 일치하는 모든 형식을 허용, 모든 아래 같은 수의 유효한 형식은 다음과 같습니다Fluent Validation을 사용하여 입력 형식을 유지하거나 입력을 조정하십시오.
나는 데이터베이스에 하나의 포맷을 유지하려는+2 010 00011122
+201000011122
00201000011122
, 그러나 모든 나의 클라이언트가 무엇이든을 사용하는 것을 허용하십시오. 나는 아래와 같이 검증으로 모델 값을 조작하는 생각을했다 :
RuleFor(m => m.Phone)
.NotEmpty().WithMessage(Common.ResourceFiles.Validation.Required)
.Matches("Constants.Regex.Phone").WithMessage(Common.ResourceFiles.Validation.InvalidFormat)
.DependentRules(d => d.RuleFor(m => m.Phone).Must(
(model, phone) =>
{
if (phone.StartsWith("+"))
model.Phone = model.Phone.Replace("+", "00");
// Other changes here
return true;
}));
그것은 그렇게하는 것은 합법적입니까? 그러한 논리를 시행해야하는 계층이 없다면?