2010-01-12 4 views
1

ASP.NET MVC 2.0을 사용하고 있습니다.클라이언트 측 유효성 검사 및 컬렉션 또는 동적 양식

"즉석에서"새 양식 테이블 행을 추가하려면 동적 양식을 구현해야합니다.

내 ViewModel에는 양식에 추가 될 각 행에 따라 ICollection이 포함되어 있습니다.

이제 클라이언트 측 유효성 검사를 어떻게 할 수 있습니까?

답변

0

모델을 목록에 바인딩해야합니다.

자세한 내용은 http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx (Phil Haack은 Microsoft MVC 사용자 중 하나입니다.)을 참조하십시오. 이것은 기본적으로 마이크로 소프트 사람들이 기능을 허용하기 위해 만든 해킹입니다 (Phill은 그들이 다른 방법을 고안하고 있다고 주장하지만 현재는 그렇게하고 있습니다). 이것에 유효성 검사 컨트롤을 쉽게 추가 할 수 있습니다. 명명 체계를 구현할 때 매우주의 깊게 살펴보고 숨겨진 '색인'필드를 넣는 것을 잊지 마십시오. 인덱스의 값은 원하는대로 지정할 수 있습니다 (시퀀스의 숫자 일 필요는 없습니다). 그러나 숨겨진 필드에 값을 넣으면 입력 컨트롤의 대괄호 안에 있어야합니다. Phill의 경우처럼 예. 그것이 무언가를 놓치기 아주 쉽기 때문에, 숨긴 색인을 두는 것을 잊었 기 때문에 나는 그것을 한 번 확인하고, 나는 순수한 불행의 시점에왔다. 또한 명명 스키마의 두 번째 부분 ('Name'과 'Price')은 모델에서와 동일해야합니다.

작업이 끝나면 jQuery를 사용하여 양식에 항목을 동적으로 추가/제거하십시오. jQuery 선택기를 사용하면 ID에 대괄호를 사용할 수 없으므로 명명법에 따라 'value'속성을 유지하면서 다른 방식 (예 : 'something_index_propertyName')으로 입력 컨트롤의 'id'속성을 구성 할 수 있습니다.

해피 코딩.