LoginSignup
22
22

More than 5 years have passed since last update.

jQueryValidationではまったところ

Posted at

はじめに

jQueryValidationを使ってはまったところをメモ。

textareaの入力チェック結果がサーバーサイドと異なる(改行コードの数え方)

jQueryValidationでは改行を1文字(LF)、サーバーサイドでは2文字(CRLF)で数えていましたので、jQueryValidationでも改行を2文字として数えるように手を加えました。

↓のスライドを参考にさせていただきました。
改行コードについては14ページから。
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック

数字項目にスペースを入れてもエラーにならない!

numberやrangeを適用している項目にスペース(半角・全角ともに)を入れてもエラーになりません。
オリジナルのValidationメソッドを追加して対応する必要があります。

// 半角スペースと全角スペース不可
jQuery.validator.addMethod("noSpace", function(value, element){
  return !(/\s/.test(value))
});

【参考】
jquery form validate not allow space for username field? - Stack Overflow

エラー(valid)だったときに任意の処理をしたい

コールバック関数が用意されていますが、チェックのタイミングによって使えるものが異なります。

  • invalidHandler:サブミットした時にエラーがあったら呼ばれる。フォームの全ての項目のエラー内容が取得可能。
  • highlight:リアルタイムにチェックして項目一個一個がエラーになった時に呼ばれる。現在入力中のエラー内容が取得可能。

jQueryValidationを初めて使った時お世話になったサイト

最初に読ませていただきました。チュートリアルっぽくなっていてわかりやすいです。
jQuery Validate Pluginの解説とValidate 日本語環境用PluginとjQuery Form Pluginとの連携 - くらげだらけ

APIドキュメントを日本語訳されています。
高機能ライブラリ「jQuery」とそのPlugin「Validation」 - すぎゃーんメモ

22
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
22