忍者ブログ

カウンター

プロモーション

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

AntinomyMy の実験室

   私のWEBアプリ実験室です!

ブログ内検索

楽天でお買い物

twitter

最新トラックバック

最新コメント

忍者アナライズ

ウェザーニュース

バーコード

本を買う

アクセス解析

Google+

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


  • 2024/04/26 07:43

jQuery のvalidate.js でformat 関数の使い方いはまった

JavaScript の調べ物

今回はjQuery のフォームチェック(バリデーション)のプラグインである
validate.js の話

validate.js はブラウザ上でフォーム入力をチェックするものであるが
細かく思ったより設定して使う事が可能である

例えば、remote() を遣うと、
フォームの入力をそのまま指定のAPIサーバー(サーバーサイドプログラム)に
内容を送り付けて、サーバー上のDBなどや、リアルタイムな処理を用いて
フォームの入力チェックが有効かどうかを知る事ができる(自分へのメモなんですけどね^^;)

さて、今回はこのvalidate.js のformat() です。

これをネット上で使い方の参考を見ていると
例えば
$.validator.format("{0} is not a valid value");
とか
jQuery.format("{0} is not a valid value");
とか
なんだけど、これだとなぜかうちの環境で動かない!!(’Д’#)
理由が分からないから、そもそもこのformat() は、何処から継承されてるの?
と思って調べたら普通にvalidate.js に実装されている機能っぽい
http://jqueryvalidation.org/jQuery.validator.format/

それには
Example:
の部分に
jQuery.validator.format("{0} is not a valid value");
と書いてあるのでその通りに書いてみた。

すると。。。。動いた^w^;

うーん・・・・
よくある、よくあったら困る様な固有な書き方とか、
何かを回避する為に、$やQuery って書く書き方をしてるのだろうか?

不思議だけど、平然とどのサイトもその様に書いている・・・

私の場合には、
jquery-1.11.2.min.js

jquery.mobile-1.4.5.min.js

jquery.validate.1.13.1.min.js
を順に読み込んで使っていた環境での出来事

特に何かした覚えはないんだけどな・・・

普通に考えてそうだと思うけど、人のサイトの多くで
jQuery.validator
とは書いてない

あと私の環境では、試しに書いたjQuery を$ にした
$.validator.format("{0} is not a valid value");
でも動いた

なんだろう、みんなどうしてそんな書き方しちゃってるんだろう・・・

私の使い方が悪いのか?w

なんだろう、なんだろう・・・なんだろう・・・どうしてなんだろう・・・・


そのうち分かる日が来る・・・のかもしれないw

因みに私は勿論json で設定しているので
使っている部分のサンプルは、
フォームの郵便番号に対しては下記の様にしています(他の部分は紛らわしいので載せてないよ!)
{
rules: {
zipA :{
required: true,
minlength: 3,
maxlength: 3,
digits: true
},
zipB :{
required: true,
minlength: 4,
maxlength: 4,
digits: true
}
},
messages: {
zipA :{
required: "郵便番号上3桁は必須です",
minlength: jQuery.validator.format("{0} 文字以上を入力してください"),
maxlength: jQuery.validator.format("{0} 文字以下を入力してください")
},
zipB :{
required: "郵便番号下4桁は必須です",
minlength: jQuery.validator.format("{0} 文字以上を入力してください"),
maxlength: jQuery.validator.format("{0} 文字以下を入力してください")
}
},
errorPlacement: function (error, element) {
error.appendTo(element.parent().parent().last());
}
// ,
// submitHandler: function (form) {
// $(':mobile-pagecontainer').pagecontainer('change', '#success', {
// reload: false
// });
// /* サンプル */
// $('body').pagecontainer('load', 'change_linked.html');
// return false;
// }
}


フォームのinput でminlength="x" maxlength="x" としておけば、HTML5 の処理で
Chrome で確認した限り、思った通りに動いてました
(この場合ではx は3 か4 という事になります)

毎度ながら個人的なメモでした<_ _>







拍手[1回]

PR


  • 2015/03/28 11:50

コメント一覧

  • お名前
  • Email

  • コメント

  • Vodafone絵文字 i-mode絵文字 Ezweb絵文字
  • パスワード
[PR]