2016-07-18 12 views
1

jquery 사용자의 입력에 대한 유효성을 검사합니다. 입력 내용이 비어 있으면 false가 반환되고 jquery 코드는 실행되지 않으며 일부 텍스트가 포함 된 경우 jquery 코드가 실행됩니다. 다음은 예입니다.-jquery에서 올바르게 유효성을 검사 할 수 없습니다.

function sendm() { 
    var valid; 
    valid = sendmval(); 
    if (valid) { 
     //jquery code 
    } 
} 

function sendmval() { 
    var valid = true; 
    if (!$('#message').val()) { 
     valid = false; 
    } else {} 
    return valid; 
} 

잘 작동합니다. 그러나 사용자가 blank spaces 만 입력하면 빈 입력에도 jquery 코드가 실행되는 문제가 발생합니다. 이 문제를 어떻게 방지 할 수 있습니까?

+3

['$ .trim() '] (https : //api.jquery. com/jquery.trim /) – Andreas

+0

$ .trim(). 공백은 값이 있기 때문에 –

+0

을 사용하십시오. 공백이 true-ish이기 때문에 js의 "!"는'false'로 평가됩니다. –

답변

4

문자로 spaces 수 있기 때문에 아래처럼 JQuery와의 $.trim()를 사용할 필요가 있도록 : - : 공간도 있기 때문에

https://api.jquery.com/jQuery.trim/

+0

이것은 가장 좋은 대답이었다 –

+0

손질과 같은 것이 더 있습니까? –

+0

@TomCruise 나는 울고 있지 않다. 왜 그렇게했는지 물어 봤어? 당신이 나에게 설명을 해 주면, 당신이 행복하게 아무 것도 표시 할 수 없다. 나는 지금도 그 문제가 없다. 원하는 것을 표시하십시오. 그것은 당신의 질문입니다 BTY –

3

- 더 참고로

if (!$.trim($('#message').val())) { 
     valid = false; 
} 

문자, 간단한 사용 .trim() 자바 스크립트 문자열의 빈 공간을 제거하는 기능 그는 시작과 끝. 평소대로 수표로 처리하십시오.

주가 : 내가 변경되었습니다

if (!$('#message').val()) 

if (!$('#message').val().trim()) 

전체 작업 코드 테스트를 참조하십시오

function sendm() { 
 
    var valid; 
 
    valid = sendmval(); 
 
    if (valid) { 
 
    alert("valid & sendm"); 
 
    } 
 
} 
 

 
function sendmval() { 
 
    var valid = true; 
 
    if (!$('#message').val().trim()) { 
 
    valid = false; 
 
    } else {} 
 
    return valid; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="message"> 
 
<button onclick="sendm()">CHECK</button>

관련 문제