0

さまざまなドキュメントのデータを含むデータグリッドがあります。ユーザーはいくつかの列を編集できます。数字しか入力できないように制限したい。20以上のドキュメントをチェックすることになるので、サーバー側ではなくクライアント側からやりたいと思います。

わかりました、何をすべきかを理解しました。数値以外の値または無効な値を入力した場合に、データを赤い背景としてフォーマットする関数を作成します。関数をscriptBlockに入れ、各列のフォーマッターフィールドに名前を入れます

function ValidNmbr(s)
{
var RegularExpression = new RegExp(/^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/);<br/>
if(RegularExpression.test(s))
{
    return s;
}
else {
    return "<span style='background-color:red'>"+s+"</span>";
}
}
4

1 に答える 1

0

クライアント側のフォーマットの強制は (firebug を持っている人なら誰でも) バイパスできるため、データの整合性のためではなく、ユーザーの快適さのためだけであることを明確にする必要があります。

サーバー側: 数値マスクを含む入力フィールドを使用できます。コードは必要ありません -- 最も作業が少ないかもしれません。そのクライアント側でやりたい場合:

  1. 数値形式に HTML5 属性を使用する
  2. いくつかのヘルパーを使用して、古いブラウザーを動作させる
  3. Dojo グリッドの使用を検討してください。それは素晴らしい検証を行います

それが役立つことを願っています

于 2012-11-01T17:12:09.403 に答える