을 사용하여 2 개의 목록을 검증하고 아래의 질문에 대한 아이디어가 있으면 도움을받을 수 있습니다.[FluentValidation]에 대한 경험이 많은 사람이라면 FluentValidation
두 개의 일반 목록 (둘 다 문자열 데이터 유형 포함) - "이름"및 "URL"이 있습니다. 둘 다 동일한 양의 항목을 가지므로 색인 된 항목이 일치합니다. 즉 Names [0]은 Urls [0]과 관련됩니다.
유일한 문제는 각 목록에서 빈 항목을 확인하는 것입니다. 필요한 규칙은 다음과 같습니다.
이름 [2]에서 항목이 비어 있고 URL [2]가 비어 있으면 안됩니다. 항목이 URL [2]에서 비어 있고 이름 [2]가 비어 있으면 안됩니다. 둘 다 비어 있으면 유효성을 검사하지 않으므로 무시하고 싶습니다. ,
RuleFor(f => f.Names).Must(d => d.All(s => !String.IsNullOrEmpty(s)))
.WithMessage("Names cannot be empty.")
RuleFor(f => f.URLs).Must(urls => urls.All(s => !String.IsNullOrEmpty(s)))
.WithMessage("URLs cannot be empty.")
이 더 항목 중 하나를 목록에 빈 없는지 확인 :
참고 : 지금까지 내가 가지고있는 나는 위의 예에서 인덱스 2를 사용하고 있지만, 아무것도
이 될 수 그러나 하나의 목록에서 비어있는 항목의 유효성을 검사 할 수 없도록하려면 다른 항목의 상관 관계 항목도 비어 있어야합니다 (둘 다 비어 있으면 무시할 수 있어야 함).
아이디어가 있으십니까?
게시 해 주셔서 감사합니다. 나는 머리카락을 꺼내고 있었다. 체크 박스가 체크되어 있는지 확인하는 것이 좋습니다 :'RuleFor (x => x.AvailableCompanies) .Must ((f, d) => {return d.Find (h => h.Checked == true)! = null;}) WithMessage ("적어도 하나의 회사를 선택하십시오"); – brenjt