0

... jquery / javascriptを使用しますか?値が入力されていることと、それが数値であることを確認したいと思います。

最初に-クライアント側、サーバー側、またはその両方で検証を行うのがベストプラクティスですか?これは2回検証する必要があるものですか、それともクライアント側で十分にチェックしていますか?

2番目-クライアント側の検証がこれを実行するための最良の方法である場合、javascript / jqueryを使用してこれをどのように行うことができますか?クリックされたボタンについてはonclientclick、javascript関数に等しいものを割り当てると思います。

4

5 に答える 5

4

1) 検証は、少なくともサーバー側で行う必要があります。どちらもさらに優れています。

2) 簡単な検証を行いたい場合は、単純にボタン クリック イベントにアタッチするか、フォーム送信イベントにアタッチすることをお勧めします。

$('form').submit(function()
{
     // Do My Validation

     // return false if invalid, true otherwise
});
于 2012-04-17T18:55:15.357 に答える
3

両方を行う必要があり、クライアント側にはjQueryValidateを使用する必要があります。

于 2012-04-17T18:54:20.520 に答える
2

クライアント側の検証は、純粋にユーザーとサーバーの便宜のためであり、データのサニテーションのためではありません。開発ツールを開いてその場で好きなように JS を変更できるという事実を考慮してください。クライアント側の検証を完全にバイパスすることができます。ただし、これ以上データをロードする必要がなく、ナビゲートする前に検証できるのは良いことです。

于 2012-04-17T19:01:19.273 に答える
0

他の回答が言うように、サーバー側とクライアント側を一緒に使用するのが最善です。クライアント側は、自分が何をしているのかを知っている人々によって常に渡される可能性があります。誰かが Javascript を完全にオフにしたとしても、クライアント側の検証は無意味です。

サーバー上ですべてをセットアップしてから、戻ってクライアント用に修正することをお勧めします。Javascript と jQuery は、検証に使用される最も一般的な項目です。私が Javascript で使用することの 1 つは、すべてがチェックアウトされるまで、送信ボタンを禁止することです。次に例を示します。

document.getElementById("submitbutton").innerHTML = '<input type="submit" value="Log In" />';

すべてが検証でチェックアウトされた後にそれを入れると、入力ボタンが「submitbutton」のIDを持つdivに配置されます。

ボックスへの入力があることを確認するための Javascript の例は次のとおりです。

var textValue = document.getElementById("idOfTextBox").value;
if(textValue == null || textvalue == "")
{
    document.getElementById("errordiv").innerHTML = "Please fill out a value for the text box";
}

これが各テキスト ボックスの onKeyUp または onBlur に設定されている場合、すべてのボックスに入力があることを確認するのに非常に役立ちます。

于 2012-04-17T19:05:52.720 に答える
0

ここにはクライアント側の検証がほとんどありません

ここに画像の説明を入力ここに画像の説明を入力


まず - クライアント側、サーバー側、またはその両方で検証を行うのがベスト プラクティスですか? これは2回検証する必要があるものですか、それともクライアント側で十分にチェックしていますか?

  1. Client Side- それはいつも良いです。JavaScript がブロックされていないことが条件です。クライアント側の検証により、プロセスが高速化されます。実行時間を短縮します。
  2. Server Side- いつも無頓着です。性能で妥協するしかない。
  3. Both SideRegularExpressionValidator-サーバー側の検証に行くことができます。

2番目-クライアント側の検証がこれを行うための最良の方法である場合、javascript/jqueryでこれを行うにはどうすればよいですか? クリックされたボタンには、その onclientclick を JavaScript 関数と同等に割り当てると仮定します。


この例では、ユーザーが数値テキストボックスにアルファベット以外を入力できないようにする方法を説明します。

マークアップ

<asp:TextBox ID="FirstName" runat="server" AutoComplete="Off" 
             onKeyup="return AlphaNumeric(this);" onchange="return AlphaNumeric(this);"></asp:TextBox>

サンプル JavaScript コード

<script language="javascript" type="text/javascript">
    function AlphaNumeric(controlID) {
        document.getElementById(controlID.id).value = 
          NumericValidation(document.getElementById(controlID.id).value);
        return true;
    }

    function NumericValidation(val) {
        var Reg = new RegExp('[^a-zA-Z]+');
        var Result = val.match(Reg);
        if (Result) {
            val = val.replace(Reg, '');
            return val;
        }
        else
            return val;
    }
</script>

于 2012-04-17T19:29:04.333 に答える