2016年11月30日水曜日

jQuery Validation Plugin 簡単な使い方

基本形式

javascript

$("form").validate({

    rules: {

        "menu[]" :{

            required: true

        },

        date :{

            require_from_group: [1, ".date_group"]

        }

    },

    messages: {

        "menu[]":{

            required: "ご希望のメニューを選択してください"

        },

        date :{

            require_from_group: "日時を選択してください。"

        }

    }

});

rulesにはそれぞれのname属性に対するチェック項目を決められます。
チェックボックスなんかで「name="menu[]"」としている場合は
"menu[]":{}」という感じで囲ってあげてください。
messages
にはそれぞれのチェック項目に対するエラー内容(テキスト)をいれます。

focusした後に何もせずblurした場合もチェックする

javascript-jquery.validate.js

if ( !this.checkable( element ) && ( element.name in this.submitted || !this.optional( element ) ) ) {

 

↓↓↓↓↓↓

 

if ( !this.checkable( element ) ) {

デフォルトだと、ルールに「required」が設定されていても、
focus
した後に何もせずblurした時にチェックしてくれません。
なので、上のように、「jquery.validate.js 」内のソースを修正すれば、
ちゃんとチェックしてくれるようになります。

エラー表示位置を変える場合

javascript

errorPlacement: function(error, element) {

    element.before( error );

}

デフォルトでは指定したエレメントの後にエラーが入りますが、
errorPlacement」でエレメントの前にも表示可能です。

チェックボックスのvalidation

javascript

$('input[type="checkbox"]').on('click', function() {

    $('form').validate().element( this );

});

デフォルトでは、チェックボックスに「required」をつけても反応してくれないので、
上記を追加してやると該当エレメントのバリデーションを実行してくれます。

validationおまけ

$('form').validate();
と書いてやると、フォーム全体のバリデーションが行えます。

あとからチェック項目を変更

javascript

$( ".foo" ).rules( "add", {

    required: true,

});

ラジオボタンでAが選択したらA'を必須項目にしたい場合等は、
rules("add",{
追加チェック項目 });
でチェック項目を増やすことができます。
rules("remove",{
削除チェック項目 });
でチェック項目を減らすこともできます。

カスタムチェック項目

javascript

$.validator.addMethod("phone", function(value, element) {

    return this.optional(element) || /^[\d,-]+$/.test(value);

}, "数字を入力して下さい");

$.validator.addMethod」を使って、カスタムチェック項目を作れます。
上記の例は、「数字とハイフンのみの場合OK」という感じです。
電話番号や郵便番号などに使えるかなと思います。

 

Jolla's Sailfish OS Now Certified as Russian Government's First 'Android Alternative'

The future for one of the few remaining alternative mobile OS platforms, Jolla's Sailfish OS, looks to be taking clearer shape.
Today the Finnish company which develops and maintains the core code, with the aim of licensing it to others, announced Sailfish has achieved domestic certification in Russia for government and corporate use.
In recent years the Russian government has made moves to encourage the development of alternatives to the duopoly of US-dominated smartphone platforms, Android and Apple's iOS -- flagging Sailfish as one possibility, along with Tizen.
Although Sailfish looks to have won out as the preferred Android alternative for Russia at this point. The government has said it wants to radically reduce its reliance on foreign mobile OSes -- to 50 per cent by 2025 vs the 95 per cent of the market garnered by Android and iOS in 2015.
Sailfish's local certification in Russia also follows an announcement earlier this year that a new Russian company, Open Mobile Platform (OMP), had licensed the OS with the intention of developing a custom version of the platform for use in the domestic market.
So, in other words, a Russian, strategic 'Android alternative' is currently being built on Sailfish.

acebook Is Bringing Games Like Pac-Man, Space Invaders To Messenger and Your News Feed

Facebook is launching Instant Games, "a new HTML5 cross-platform gaming experience" that is available on Messenger and Facebook News Feed for both mobile and web users.

Since they're built on the HTML5 mobile web standard, the games load in seconds and don't need to be downloaded. Instant Games is available in 30 countries and launches with 17 games "from classic developers like Bandai Namco, Konami, and Taito as well as newer studios like Zynga and King," writes Josh Constine via TechCrunch.

The biggest draw of Instant Games is how quick you can start playing. You tap the game controller icon in one of your message threads, choose a game from the list, it loads in seconds, you play a short round, and your high score gets automatically posted to the private or group chat thread. You can even share a stylized high score screenshot that you can Doodle on top of like Snapchat to trash talk your opponents. And if you share a game to the News Feed, friends can jump right into the action from Facebook's app or website. For now, the platform is in closed beta, but developers can apply to build Instant Games here.