2016-10-27 25 views
0

名前に対してリアルタイムのjquery検証があります。リアルタイムで作業していますが、フォームを送信すると、エラーメッセージが表示された後でも値が送信されます。 これは検証のために私のコードです:検証に失敗した場合、Jqueryの検証は機能しません。

$(document).ready(function(){ 
    var $regexname=/^([a-zA-Z]{3,16})$/; 
    $('.firstname ').on('keypress keydown keyup',function(){ 
     if (!$(this).val().match($regexname)) { 
      $('.fname').removeClass('hidden'); 
      $('.fname').show(); 
     } 
     else{ 
      $('.fname').addClass('hidden'); 
      } 
    }); 
    }); 

誰でも、エラーメッセージが表示され形成doesnot時に提出を受けることを私を助けてください。

+0

エラーメッセージが習慣このコードは、任意の入力を受け取るために停止 –

+0

)(event.preventDefaultを試みます。このコードを使用した後にanythningを入力することはできません – Weedoze

答えて

1

この方法をお試しください。

$('.firstname ').on('keypress keydown keyup',function(event){ 
     if (!$(this).val().match($regexname)) { 
      event.preventDefault(); 
      $('.fname').removeClass('hidden'); 
      $('.fname').show(); 
     } 
     else{ 
      $('.fname').addClass('hidden'); 
      } 
    }); 
+0

を提出するための形態を停止 –

0

使用event.preventDefaultORreturn false

$(document).ready(function(){ 
var $regexname=/^([a-zA-Z]{3,16})$/; 
$('.firstname ').on('keypress keydown keyup',function(event){ 
     event.preventDefault(); 
     if (!$(this).val().match($regexname)) { 
      $('.fname').removeClass('hidden'); 
      $('.fname').show(); 
     } 
    else{ 
     $('.fname').addClass('hidden'); 
     } 
    }); 
}); 

それとも

$(document).ready(function(){ 
var $regexname=/^([a-zA-Z]{3,16})$/; 
$('.firstname ').on('keypress keydown keyup',function(event){   
     if (!$(this).val().match($regexname)) { 
      $('.fname').removeClass('hidden'); 
      $('.fname').show(); 
     } 
     else{ 
      $('.fname').addClass('hidden'); 
     } 
     return false; 
    }); 
}); 
+0

2番目の例では、返されたときにifステートメントが実行されません。 – ste2425

+0

はい、私はそれを置き忘れた –

0

リターン偽あなたの検証が失敗した場合、真それが通過した場合

ので、私はあなたがあなたの関数で書くことをお勧めしますコードは...

$('.firstname ').on('keypress keydown keyup',function(event){ 
     if (!$(this).val().match($regexname)) { 

      $('.fname').removeClass('hidden'); 
      $('.fname').show(); 
      return false; 
     } 
     else{ 
      $('.fname').addClass('hidden'); 
      return true; 
      } 
    }); 
0

は、エラーが表示さであるかどうかをチェックするために、ボタンのクリックイベントの検証を追加しています。

$('#buttonId').on('click',function(){ 
    if($('.fname').is(':visible')) 
    { 
    alert('Resolve error before submitting the form.'); 
    return false; 
    } 
    }) 
関連する問題