2016-09-02 5 views
0

私は4つのテキストフィールドで作業しています - 最初の2つはjqueryのdatepickersで、最後の2つは時間です... time2がtime1より大きい送信ボタンをonclickのフォームをJQuery/Javascriptで検証する方法

とき...

関数が呼び出され、これを行うにはクリーンな方法はありますか?このスクリプトに関する何かが私には見えませんか?私はそれに穴があるように感じる。

<script> 


function empty() { 

var x; 
x = document.getElementById("date1").value; 
if (x == "") { 
    alert("Enter a Valid Date!"); 
    return false; 
}; 

var y; 
y = document.getElementById("date2").value; 
if (y == "") { 
    alert("Enter a Valid Date!"); 
    return false; 
}; 


var val1 = $('#time1').val(); 
var val2 = $('#time2').val(); 

    if (x == y) { 

      if (val1 >= val2) { 
       alert("Time 2 Needs to be Greater than the Time 1!"); 
       $("#time2").focus(); 
       return false; 
      } 
    }; 


} 

</script> 
+0

このライブラリーを見ますか? http://1000hz.github.io/bootstrap-validator/ – John

答えて

1
function empty() { 

    var date1 = $('#date1').val(); 
    var date2 = $('#date2').val(); 

    if ((date1 == "") || (date2 == "")) { 
     alert("Date is required!"); 
    }; 

    var time1 = $('#time1').val(); 
    var time2 = $('#time2').val(); 

    if (date1 == date2) { 
     if (time1 >= time2) { 
      alert("Time 2 Needs to be Greater than the Time 1!"); 
      $("#time2").focus(); 
     } 
    }; 
} 
0

および/またはプログラムのフォームフィールドの検証が容易になりますPHPのLaravelのようなフレームワークを使用してアプリケーション:https://laravel.com/docs/5.3/validation

フレームワークは、多くのコードと通常のウェブを行うAPIを提供フォームフィールドの検証(テキスト、テキストエリア、ラジオボタン、チェックボックスなど)などがあります。私はLaravelの機能を使用して、クライアントサイドまたはサーバサイドの検証をこれ以上行わないようにします。

+0

2つの回答を加えないでください。元の回答に追加するものがある場合は、その回答を編集します。 –

+0

@MikeMcCaughan、経験豊富なプログラマーとして、フォームフィールドの検証が必要なときに、私はJSフォームフィールドの検証をもう一度手作業で行っていません。私は彼のJavaScriptの質問に答えましたが、私はまた、彼/彼女がやっていることとは根本的に異なる解決策を持っていました。 :-) –