2009-06-02 4 views
0

MVC에서 C#으로 작업 중입니다.보이지 않는 컨트롤에 대한 ModelState.IsValid

두 개의 라디오 버튼이 있습니다. 첫 번째 라디오 버튼을 선택하면 날짜 값을 입력 할 수있는 텍스트 상자가 표시됩니다. < % = Html.TextBox ("ReceivedDate") %>

두 번째 라디오 버튼을 선택하면 텍스트 상자가 숨겨집니다.

첫 번째 라디오 버튼을 선택하고 날짜를 입력하고 다음을 클릭하면 다음 페이지로 다시 이동하여이 페이지로 다시 돌아와 두 번째 라디오 버튼을 클릭 한 후 다음을 클릭하여 계속하고 다시 이걸 보았습니다. 페이지를 열고 옵션을 변경하지 않고 계속을 클릭하면 해당 항목을 탐색 할 수 없으며 오류가 표시됩니다.

 A value is required. 

숨겨진 컨트롤도 유효성을 검사하는 ModelState를 의미합니다.

+0

모델의 유효성을 검사하고 필수 입력란을 설정하는 데 무엇을 사용하고 있습니까? – CoderDennis

+0

양식을 게시하는 동안 ModelState.IsValid를 확인하고 있습니다. ModelState.IsValid가 false이고 오류가 발생한보기로 돌아갑니다. – Prasad

답변

0

대신이 DOM에서 요소를 제거하고 첫 번째 항목을 다시 선택하면 다시 삽입 숨어 제어하는 ​​방법을 제안 해주십시오. 또 다른 방법은 첫 번째 항목을 선택하지 않은 상태에서 입력 컨트롤의 이름을 다른 것으로 변경하는 것입니다 (모델 데이터에없는 키).

숨겨진 입력 유형의 유효성을 검사하는 것은 좋은 일이며, 종종 확인란을 사용하여 트리 컨트롤과 같은 복잡한 컨트롤의 데이터를 동기화하는 데 사용됩니다. 숨겨진 CSS 스타일이있는 입력 유형은 속한 양식과 함께 제출하지 않습니다.

+0

컨트롤 이름이 실제로 변경되었습니다. 감사. – Prasad

관련 문제