カテゴリー別アーカイブ: プログラミング

Cake PHP バリデーションのメッセージが表示されない問題について

Webアプリを作れるようにならんとねということでCakePHPの勉強中。
バリデーションであほみたいなことでちょっと苦戦したのでメモ。

下記のリンク先のチュートリアルに従ってPHPのプログラムを作っている。
CakePHP2.1でバリデーション処理(実践編その5)

だけど、バリデーションでつまづいた。
バリデーションでエラーになった結果、エラー内容を通知するメッセージを表示するんだけど
そのメッセージが表示されない。

バリデーションのエラーメッセージが表示されない問題についてはいろいろなサイトで報告されていて
その対応策も記載されている。

CakePHP2.3からinputタグにhtml5のrequired属性がつくようになった

なんかCakePHPが親切心?でつけたタグ情報にブラウザが反応してブラウザのバリデーションをやってしまうそうで
それが原因でCakePHPのバリデーションが動作しないそうだ。
フレームワークもブラウザも誰かさんがいろいろ考えて作ったものなのでこういう予想外の動作をするみたいで
そこんとこがWebの難しいところ。(本当に難しいことは他にもいろいろあるんだろうけど)

で、この対策をしてもバリデーション処理は動くようになったっぽいがメッセージだけが表示されない事象が発生して
1日悩んでしまう。さすがにバリデーションが成功していてメッセージだけが表示されないという状況で悩んでいる人は
居ないみたいでネットにも情報が無い。

いろいろ悩んだあげく最後にモデルに記載しているメッセージを日本語から英語に変えると・・・
なんとメッセージが表示される!

なんとソースの文字コードがS-JISで保存されていたのが原因で日本語表示に失敗していた模様。
あまりにも初歩的なミス・・・ヘコーッってなってしまったわ。

VisualStudio2013Expressでインストーラーを作る方法

VisualStudio2013を使ってアプリ開発をしているのだが、
今更ながらインストーラーを使って簡単にインストールできるように改善したいと思っている。

マイクロソフト一押しの技術にClickOnceというものがあり、
こいつを使うと、ユーザが気づかないうちに自動的に更新してくれたりと
いろいろクールなことが出来そうだが、ユーザのブラウザがIEでないと適用できないなど
ちょっと実用出来ではない。

そこで昔ながらのインストーラーからのインストールが行えるようにしようとしたのだが、
これまたVisual Studio 2013 Expressではインストーラを作る機能が無いようで
どうしたものかと困っていると、実はインストーラーを作る方法がとあるサイトで紹介されていた。

手順のとおりにやってみるとたしかにインストーラーが作れる!
Wix,WixEditというツールを使うと良い。

VisualStudio2013ユーザでインストーラーを作ってみたい人は下記サイトを参考されたし

東京メトロ オープンデータ活用コンテストが熱い かもしれない

東京メトロがすごいことを企画していますね。

列車位置等の列車運行情報をオープンし、
オープンデータを活用して一般人がアプリを開発するコンテストを企画している模様です。

鉄道業界ってとにかくお堅いイメージがあります。
真面目で、前例主義で、石橋をたたいて渡らない、みたいな。

Amazonみたく時刻表とかの情報をばんばん公開してくれたら面白いアプリが作れるかもな。
でもそんなことやるわけないよな、なんて妄想していたりしたのですが、
まさか列車位置のようなモロ鉄なデータを公開する企業が日本で現れるなんて驚きです。

自分はWebの開発には超疎い上に、アンドロイドアプリなんてよーつくらんわといった状態だけども
なにか面白いアプリが作れないものか、ちょっと考えてみよう。

でも、最近は育児が忙しくてろくすっぽ時間がとれないんだよな・・・

いやいや、時間が無いことは理由にはならんわな。

東京メトロ オープンデータ活用コンテスト