2009-11-14 5 views
2

jQuery 유효성 검사 플러그인을 사용하여 확인란 목록에서 적어도 하나 이상의 확인란을 선택해야합니다. 체크 박스는 ASP.NET GridView 컨트롤의 일부이므로이 확인란의 이름이 달라 규칙의 이름을 예상하므로 유효성 검사 플러그인 컴플렉스의 규칙을 설정합니다. 나는 주위를 검색하고 볼 수있는 아래의 질문jQuery 유효성 검사 : 이름이 다른 목록에서 적어도 하나의 유효성 검사 확인란 선택

  • Question 1136507
    • Question 1710486을 나는 첫 번째 질문은 훨씬 더 나은 솔루션 생각하지만, 난 여전히 그것을 할 수있는 올바른 방법이 아니라고 느낀다 . 다른 사람이이 문제에 대한 더 많은 옵션을 가지고 있습니까?

    답변

    1

    다른 확인란을 선택하지 않은 경우에만 항목을 작성하는 복잡한 규칙은 어떻습니까?

    rules: { 
        'require-one': { 
         required : { 
          depends: function(element) { 
             var allBoxes = $('.require-one'); 
             if (allBoxes.filter(':checked').length == 0) { 
              if (allBoxes.eq(element).length != 0) { 
               return true; 
              } 
             } 
             return false; 
            } 
         } 
        } 
    } 
    

    는 그런 다음 세트의 각 체크 박스에 require-one 클래스를 적용 할 것입니다. 체크 박스가없는 경우 첫 번째 것이 필요합니다.

    +0

    @tvanfosson, 내 시나리오는 최소한 하나의 체크 박스가 선택되었음을 확인하는 것입니다. 단 하나의 체크 박스가 선택되어 있지 않습니다 (나는 라디오 버튼 그룹으로 사용하지 않습니다). 하나의 규칙 만 선택해야한다는 것을 나타냅니다. 클래스 접근 방식으로 간다, 단점은 각 확인란에 대한 유효성 검사가 호출되는 것처럼 보였고, 오류 메시지를 표시하기 위해 컨테이너를 사용하더라도 메시지가 표시됩니다. –

    +0

    아니요. 하나 이상의 확인란을 선택하면 아무 것도 필요하지 않습니다. 아무 것도 선택하지 않으면 모든 것이 필요합니다. 검사하지 않기 때문에 각각에 대해 유효성 검사 오류가 발생합니다. 그것은 각각에 대해 메시지를 갖는 단점이 있습니다. – tvanfosson

    +0

    아무 것도 선택하지 않으면 첫 번째 요소에 대해 true를 반환하도록 조정할 수 있습니다. 내가 조정할거야. – tvanfosson