jQuery Validation_jquery のデフォルトの検証方法を変更する

WBOY
リリース: 2016-05-16 17:56:20
オリジナル
1115 人が閲覧しました

最近のプロジェクトで、jQuery 検証を使用して日付を確認しましたが、ASP.NET MVC 3 プロジェクトで 要素で、フォームを検証するためにフォームの有効なメソッドが呼び出された場合、日付検証設定を追加せず、type="date" だけを指定しても、日付形式が正しいかどうかを検証するために日付検証ロジックが呼び出されます。これは本来は良い動作なのですが、サポートする日付形式が限られていることはjQuery Validationのコードを読めば分かります(もちろん「日付」についてはドキュメント内でも説明されています)。 Javascript の組み込み処理を使用して検証するだけで、新しい Date (日付文字列) が成功するかどうかを確認します。私のコンピュータでは、日付「9/5/2012」を入力すると成功しますが、「2012-9-5」と入力すると失敗します。これも明らかに正しい形式です。この動作を変更または改善する必要があります。やり方は?

もちろん、jQuery Validation のソースコードを変更することはできますが、まず、CDN 上のコードを引用しています。次に、公開ライブラリとして、自分で変更しないのが最善だと思います。時間が経つと、もしかしたら修正を忘れていて、正式版が更新された際に削除して更新してしまった結果、自分たちの修正内容が上書きされてしまうかもしれません。より良い方法は、パッチを適用し、日付検証関数を外部から独自のものに置き換えることです。 Javascript の OO がそれほど徹底していないためか、ソース コードを読み込んだ後、組み込みの検証メソッドが protected/private に変更されることはありません。jQuery Validation のソース コードを引用した後、置き換える方法は非常に簡単です。次のようにします:

コードをコピー コードは次のとおりです:

$。 validator.methods.date = function ( value, element)
{
// Date.parse 関数は日付を処理する別のライブラリから来ています
return this.optional(element) || Date.parse(value) ) != null;
};

さらに、次のような同じメソッドを使用してデフォルトのメッセージを置き換えることもできます。 🎜>コードをコピー
もちろん、jQuery Validation のグローバリゼーションとローカライゼーションの説明で述べた、メッセージ処理メソッドの他のサポートがある方がよいでしょう。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!