1

何年にもわたって、私はプレーンな JavaScript に少し手を出してきましたが、JavaScript/AJAX ライブラリーはまだ使用したことがありません。私が取り組んでいるいくつかの新しいものについては、js ライブラリを使用してクライアント側のフォーム検証を行いたいと考えており、そのために最適なものを知りたいと考えています。せいぜい、私の基準は次のとおりです。すばやく簡単に習得できること、フットプリントが小さいこと、すべての一般的なブラウザーと互換性があること。

編集: ASP の提案に感謝しますが、私には関係ありません。申し訳ありませんが、最初は言及しませんでしたが、サーバーは Apache と PHP を実行する Linux ボックスです。私が知っているように、入力のサーバー側の検証を行う予定ですが、クライアント側の検証でユーザーのエクスペリエンスを向上させ、サーバーが無効な入力を拒否することをできるだけ回避したいと考えています。

編集 2: 申し訳ありませんが、何ヶ月も返信していません! 他の優先事項が浮かび上がり、私はこれから気をそらされました。私は独自の検証ルーチンを実行することになりました-いくつかの回答で行われた良い点に加えて、検証しているアイテムのいくつかは他のアプリケーションではめったに使用されず、そのような検証が含まれているライブラリを見つけることができませんでした.

4

4 に答える 4

6

jQueryを使用できます。これはValidation pluginです。

于 2009-02-23T05:55:52.907 に答える
4

私は自分でライブラリを使用していませんが、ライブラリから学び、ライブラリが提供する機能やパターンのいくつかを抽出するために、いくつか(プロトタイプ、(yui-)ext、一見遍在するjquery、mootoolsなど)に飛び込みました。ライブラリ(別名「フレームワーク」)には、私が必要としない多くの機能が含まれているため、独自の関数のサブセットを作成しました。フォームチェックは標準化するのがかなり難しいので(おそらく電話番号や電子メールアドレスフィールドなどを除いて)、フレームワークもそこでは役に立たないと思います。私のアドバイスは、ライブラリの1つがあなたが探している機能を提供しているかどうかを確認すること、および/またはライブラリから使用できる機能を使用/書き換え/コピーすることです。ほとんどのオープンソースライブラリでは、非圧縮ソースをダウンロードできます。

(ちなみに、おそらくすでによく知られている)クライアント側のフォームチェックは不十分であると見なされていると言う必要があります。入力サーバー側も確認する必要があります。

于 2009-02-23T12:15:31.933 に答える
2

AJAX Libraries を使用する前は、Matthew "Matt" Frank による Validation.JS を使用していました。

基本的な考え方は、JS ファイルをインクルードしてから、属性を INPUT ステートメントに追加するというものです。

例:

<input name="start-date" type="text" 
    display-name="Start Date" date="MM/YYYY" required="@getRequired()" />

フィールドは MM/YYYY スタイルの日付として検証されます。表示されるエラー メッセージは、フィールドを「開始日」と呼んでいます。「@」プレフィックスにより、実行時に getRequired() 関数が評価されます。

さまざまなものが標準で提供されており (通貨、日付、電話番号、郵便番号、最小/最大値、最大長など)、キーストローク フィルターがあります。または、独自に作成することもできます。最も簡単なのは、フィールドの正規表現を定義することですが、検証を行うために呼び出される Javascript 関数を追加することもできます。

ハンドラーがフィールドとフォームの前後にキャッチするための疑似イベントがあります。

INPUT ステートメントの属性に加えて、検証アクションを JS によってフィールドに適用できます。

// Set field background when in error state
document.MyForm["INVALID-COLOR"]="yellow";

// Show error messages on field blur
document.MyForm["SUPPRESS-ONCHANGE-MESSAGE"]=true;

document.MyForm.MyField.REQUIRED = true;
document.MyForm.MyField.DisplayName="Password";

Validation.JS は 28K (非圧縮)

簡単に詳細にアクセスできる HTML ファイルを探すためにちょっとしたトロールをしましたが、リンクできるスタンドアロンのファイルを見つけられませんでした。

ソースコードは次のとおりです。

http://code.google.com/p/javascript-form-validation/source/browse/#svn/trunk

DOCはHTMLファイルにありますが、HTMLとして表示することはできません.ダウンロードしてから表示する必要があります.

于 2009-02-23T13:32:35.227 に答える
1

私はAJAXを使用してASP.NETでほとんどの新しいことを行っているので、AJAXエクステンダーでASP.NETバリデーターを使用していますが、それらはうまく機能します。ただし、ASP.NET に慣れていない場合、これは役に立ちません。

ほとんどの主要な JavaScript フレームワーク (jQuery、YUI、Prototype など) には検証機能があるため、それらを検討することができます。しかし、ニーズによっては、やり過ぎだと考えるかもしれません。

以前は (ASP Classic で) わずか 6 KB の独自の検証スクリプトを使用していました。私はこれらのフレームワークが提供する一貫性と洗練が好きなので、明らかに今は好きではありませんが、YMMV.

于 2009-02-23T12:51:38.977 に答える