기본 모델 바인더로 바인딩 된 모델이 있습니다. DataAnnotations.RequiredAttribute
을 기반으로 한 속성을 잘못된 것으로 등록합니다. 동일한 모델의 다른 속성에는 해당 필드에 유효한 값을 가져 와서 설정하는 setter 메서드가 있습니다.ASP.NET MVC 2 - ModelState 재평가
그러나 원래 ModelState 오류가 유지됩니다.
주 질문 : ModelState를 재평가 할 수 있습니까?
Sub 질문 : 더 나은 해결책이 있습니까?
편집
여기 당신이 MainEmail
에서 Required
를 제거해야합니다, 또는 어쩌면하지 않는이 경우 생각 단순화 (하위 질문에 대한) 구속되는 모델의 예를
public class Booking
{
public List<Participant> Participants {get;set;}
[Required]
public string MainEmail {get;set;}
private int _mainParticpantIndex;
[Required]
public int MainParticipantIndex
{
get { return _mainParticpantIndex; }
set
{
_mainParticpantIndex= value;
MainEmail = Particpants[value].Email
}
}
}
public class Participant
{
// not required for every participant.
public string Email {get;set;}
[Required]
public string Name {get;set;}
}
'[필수]'속성을 "setter"속성에 넣을 수 있습니까? 약간의 코드를 제공해 주시겠습니까? 조금 혼란 스럽습니다. –
예, 좋아요, 데모 코드를 추가했습니다. – Myster