2012-12-20 2 views
0

form은 장바구니입니다. 구매자는 모든 품목의 수량을 변경할 수 있습니다. 각 qty 입력 row_idname="quantity[row_id]" = 0, 1, 2 ... 등등Jörn Zaefferer의 jQuery 유효성 검사 : 이름을 허용하도록 규칙을 구성하는 방법 [#]

I의 값이 필요하고 싶은 수치 (읽기 : 정수). quantity[*]quantity*

$("#my-view-cart").validate({ 
    rules: { 
    quantity: { 
     required: true, 
     digits: true 
    } 
    } 
}); 

내가 해봤 규칙을하지만 쓸데했다 : 나는 이것을 시도했습니다.

플러그인의 문서에 예제가있는 경우 표시되지 않았습니다.

아니면이 플러그인으로이 작업을 수행 할 수있는 다른 방법이 있습니까? 나는 장바구니 페이지에 추가 제품에 위의 규칙을 사용하고 있지만 그것은 단지 하나의 입력입니다. 여러 입력으로 나는 막혔다.

$("#my-view-cart").validate({ 
    rules: { 
    "quantity[1]": { 
     required: true, 
     digits: true 
    } 
    } 
}); 

또는 케빈 B는 의견에 말한대로 수행 및 입력 요소에 class="required digits"을 추가

+3

코드에서 선언하는 대신 클래스를 사용하여 유효성 검사를 설정할 수 있습니다. ("# my-view-cart"). validate()'플러그인이 원하는 이름을 처리하도록합니다. –

+0

@KevinB Thx. 나는 숫자를 시도하고 클래스에서 작동하지 않는다고 생각. 다시 시도 할게. –

+1

실용적인 데모와 함께'class'를 사용하는 방법을 설명하는 저의 답을보십시오. – Sparky

답변

1

당신은 인용 부호로 입력의 name을 포장해야합니다.

+0

네, 고마워요. 나는 그것을 인용문에 넣는 것을 발견했다. 그러나 색인을 와일드 카드하는 방법이 있습니까? 다른 말로하면 [0], [1] 등을 반복해야하는 대신 - 각각에 대한 항목 - [*] (작동하지 않음)과 같은 작업을 수행 할 수 있습니까? –

1

"아니면이 플러그인으로이 작업을 수행 할 수있는 다른 방법이 있습니까?"

내장 된 rules() 방법을 사용하여 규칙을 추가하고 class으로 할당하십시오. See documentation.

참고 : 해야 전화는 .validate() 전화 후이 방법 .

HTML :

<form id="form"> 
    <input type="text" class="myclass" name="whatever" /> 
    <input type="text" class="myclass" name="something" /> 
    <input type="text" class="myclass" name="another" /> 
</form> 

jQuery를 :

$("#form").validate({ 
    // my options 
}); 

// the following method must come AFTER .validate() 
$('#form').find('.myclass').each(function() { 
    $(this).rules('add', { 
     required: true, 
     digits: true, 
     messages: { 
      required: "Required input", 
      digits: "Please only enter digits" 
     } 
    }); 
}); 

jsFiddle DEMO


편집 :

영업 이익의 코멘트 :

"나는 오류가 표시되고있는 경우 체크 아웃을 클릭 허용하지 않습니다. 양식 유효성 검사를 통과 여부를 모든 생각? "

당신은 단지 부울 값을 반환 .valid()를 사용하는 거라고는 테스트합니다. 뭔가 같은 ...

if ($('#form').valid()) { 
    // form passes validation, allow your click 
} else { 
    // form fails validation, do something else 
} 

을이 당신이 필요로 무엇을하지 않은 경우, 이와 관련없는 문제에 대한 새로운 질문을 게시하는 것이 보증됩니다.

+0

오. 좋은. 내 규칙에 맞게 규칙을 사용자 정의 할 수 있는지는 몰랐습니다. 와우. 나는 그들이 단지 들판을위한 것이라고 생각했다. –

+0

@ChiefAlchemist, 오, 예, 강력한 것들. 이것은 적절한 클래스가있는 한 동적으로 추가 된 양식 필드를 처리하는 데 사용할 수 있습니다. – Sparky

+0

validator 함수를 잊지 마라. addClassRules - http://jsfiddle.net/SaLNp/1/ –

관련 문제