2013-11-28 5 views
1

this thread에 답변과 같이 형식이 지정된 것처럼 보이지만 올바르게 유효성을 검사하지 않는 규칙이 있습니다. 이 규칙을 주석 처리하면 유효성 검사가 나머지 양식에서 올바르게 수행됩니다. 내가 찾은 다른 구문 오류로 인해 동일한 결과가 발생 했으므로 여기에 구문 오류가있을 것으로 예상되지만 문제가있을 수 있습니다.jquery 유효성 검사 규칙에 따라 다름

규칙은 내가 입력 필드 freqBand (A 선택 입력) 값이 "24GHz"또는 아무것도 이외의 경우, 다음 주파수 필드가 필요하다는 것을 기대하고

freq: { 
    required: { 
     depends: {function(element){ 
      return $('#freqBand').val().length > 0 && 
      $('#freqBand').val() != "24GHz"); 
      } 
     } 
    } 
}, 

입니다.

저는 jquery를 배우기 때문에 진짜 이마 슬레이트가 될 수 있습니다. 내가 좀 더 문제 해결을 수행하고있다 11/28

편집은 $ ('#의 freqBand'). 발()가 정의되지 않은 것으로 나타났습니다.

<select name="freqBand" tabindex="6"> 
     <option value="" label="&ndash;Choose&ndash;" >&ndash;Choose&ndash;</option> 
     <option value="27MHz" label="27 MHz" >27 MHz</option> 
     <option value="50MHz" label="50 MHz" >50 MHz</option> 
     <option value="75MHz" label="75 MHz" >75 MHz</option> 
     <option value="24GHz" label="2.4 GHz" >2.4 GHz</option> 
</select> 

쿼리, 검증 문서는 선택 요소에 대한 올바른 구문이

$("select.freqBand option:selected").val() 

해야한다고 말을하지만이 또한 정의로 확인으로 HTML에서 발견된다. 이 정보가 도움이되어 나를 도울 수 있습니까?

+0

당신은 구문 문제가 주파수가'시도 있습니다.. 기능 (요소) { 반환 $ ('#의 freqBand') 발() 길이> 0 && $ ('#의 freqBand') .val()! = "24GHz"); } } –

답변

0

누락 된 colon 이후입니다. 나는 이것이 이전 게시물입니다 알고 있지만 나는 현재 유사한 문제로 실행 해요

freq: { 
required: { 
    depends: function(element){ //Missing colon here and no opening braces required 
     return ($('#freqBand').val().length > 0 && 
     $('#freqBand').val() != "24GHz")); 
     } 
    } 
}, 
+0

콜론을 삽입했지만 결과가 변경되지 않았습니다. –

+0

depends와 해당 닫는 중괄호 뒤에 여분의 여는 중괄호를 제거 했습니까 ?? –

+0

나는 그랬지만 변화는 없었다. –

1

: braces 후에는 따라 추가는 unecessary.Try이있다. 즉, 나는 name 속성에 id selector #을 사용하는 것에 관심이있다. 내가 발견 한 것을, 아이디 선택이 결코이다에서 이름 속성이 선택을 통해 해결해야 오히려, 이름 속성에 사용되는 참조 [name='name']

: 이것은 아마 완전하지 않습니다 Name vs Id attribute in HTML

당신의 문제를 해결할 수는 있지만 나중에는 알지 못하는 것이 분명합니다. 다시 한 번 나는 그것이 1 년이되었다는 것을 안다. 게다가 이름 속성에 대한 id 선택기가 맞다면 코드에 대한 큰 문제가 해결되었습니다.

Joke_Sense의 정보는 모두 사실이며 관련이 있습니다.

아, 그리고 StackOverflow (내가 아직 생각하지 않은 계정을 만들지는 않았지만)에 익숙하다. 이 응답이 ... 잘되었는지에 관해서 누군가가 저에게 피드백을 줄 수 있다면 그것은 단지 제쳐 놓고 의미가 있습니다. 나는 단지 건설적인 비판을 요구하고있다. 나는 지식과 노하우를 가지고 있고, 나는 단지 자신을 어리석게 만들고 싶지 않습니다.

+0

안녕하세요. 첫째로 ... 이탤릭체 메시지는 새로운 사용자로부터 놀라운 것입니다. 내가 당신의 대답과 함께 볼 수있는 유일한 문제는 대답 이상의 코멘트라는 것입니다. 나는 당신이 아직 논평 할 수 없다는 것을 알고 있으며 때로는 문제가 될 수도 있지만, 이런 종류의 대답은 대답이 아닙니다. 특히 Joke_Sense의 현재 답변이 그렇습니다. 그러나 비평을 위해 열린 채로있는 위대한 직업 :). – Patrice

0

이것은 오래된 스레드이며 해결되었을 가능성이 높지만 예상치 못한 결과를 낳았습니다.

내가보기에 가장 눈부신 문제는 선택 입력에 ID가 할당되어 있지 않지만 depends 문에서 ID : $('#freqBand').val()으로 전화하고 있다는 것입니다. 그런 식으로 요소를 참조하려면 select에 ID를 추가해야합니다.

또한 validate 문에도 괄호가 누락되었습니다. "24GHz"다음에 끝이 있지만 시작 문제가 없으므로 문제가 될 수 있습니다.

왜 길이를 사용하는지 잘 모르겠습니다. 나는 당신이 값에 무언가가 있는지 확인하고 싶을 수도 있다고 생각합니다. 그래서 depends 문을 약간 수정할 수 있습니다.

어쨌든, (버전 1.13.1 사용하여 확인)이 작품의 세 :이 도움이

freq: { 
    required: { 
     depends: function(element){ 
      return ($("#freqBand").val() != "" && $("#freqBand").val() != "24GHz") 
     } 
    } 
} 

freq: { 
    required: { 
     depends: function(element){ 
      return ($("select[name=freqBand]").val() != "" && $("select[name=freqBand]").val() != "24GHz") 
     } 
    } 
} 

freq: { 
    required: { 
     depends: function(element){ 
      return (($("select[name=freqBand]").val().length > 0) && $("select[name=freqBand]").val() != "24GHz") 
     } 
    } 
} 

희망을. { 필요 : { 따라 달라