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.