2014年1月2日木曜日

Teeda で バリデーションに指定した項目ではない項目の色を変更する

前回に続いて、Teedaネタです。今度は前後でフォームの分かれた郵便番号などにバリデーションを適用した際に両方のフォームの色を変えたいなど、バリデーションを指定した項目ではないフォームをバリデーションエラー時に変更する方法を紹介します。

2013年12月27日金曜日

Teedaでの複合項目のバリデーションをする

今更のTeedaネタですが、フィールドが前後に分かれた郵便番号や3つのプルダウンで構成された年月日フォームに日付チェックをするときのように複数のフィールドに対して、単一のバリデーションを実行する方法を紹介します。

2013年12月14日土曜日

Agile Samurai Base Camp に行ってきました。

12/8(日)に Agile Samurai Base Camp という勉強会に出席してました。その内容について書いておきます。

会のコンセプト

Agile Samurai Base Campは、アジャイルサムライを読んで実践したいと悩んでいる人成果がでないと悩んでいる人のためのアジャイル開発についての入門者向け大規模セミナーです。
 となっており、インセプションデッキ、TDDグループに別れて実習を行うという形式で行われました。ちなみに、自分はインセプションデッキグループに入りました。

2012年1月9日月曜日

S2Clickをさわってみた

年末にかけてS2Click(Apache Click + S2)を触ってみたので、ちょっとメモ。 こちらのページのサンプルをベースに簡単な一覧、登録、編集を実装してみました。 そのときの、感想や作業内容などを備忘録として書いておく。

2011年11月23日水曜日

[JavaScript]リンクのURLクエリをPOSTで送信する



先日、検索 → 一覧 → 詳細 という画面に対して、


  1. 一覧から詳細画面へはリンクをつかって遷移すること
  2. 詳細画面から一覧画面へは「パンくず」リンクを利用して戻れるようにすること
  3. 一覧画面は検索したときの条件で絞り込まれた一覧が表示されること
  4. 詳細画面へのURLに検索条件のURLクエリをつけず、詳細データへのIDのみをクエリにつけること
  5. Cookie(セッション)利用不可

という依頼を受けました。
SEO対策のためにURLに余計なクエリをつけたくないけど、パンくずのフローは辿ってきたフローをちゃんと戻れるようにしたいというのが趣旨でした。
そこでHTMLを生成するときには、ID、検索条件ともにリンクのURLにクエリとして追加しておき、Javascriptを利用して、URLからクエリの一部を抜き取り、リンクをクリックしたときに、それらがPOSTされるようにしました。
書いておけば、後々役に立つかなと思ったので書いてみることにしました。
下がそのサンプルになります。
どちらも同じURLを指定していますが、開く画面は別になるようになっています。

この処理の手順はこんな感じになります。
  1. リンク要素を取得する
  2. リンクのURLをアドレスとクエリにわける
  3. 動的にフォームを生成し、生成したフォームにクエリをhiddenとして追加していく
  4. リンクのhref属性の書き替え
  5. リンククリック時に生成したフォームがsubmitされるようにする

2011年11月3日木曜日

ScalaでSwingレイアウト(GridBagPanel編)

scala.swingでは、レイアウトのクラスとPanelが一つのクラスになっています。
GridBagPanelはGridBagLayoutとJPanelクラスが合わさったクラスです。
GridBagPanelはレイアウトの自由度がかなり高いクラスとなっており、これを利用すれば、おおよその画面レイアウトは実装できてしまうのではないでしょうか?

主な使い方は以下の通りです。
  1. GridBagPanelの基本的な仕組み
  2. GridBagPanelクラスの基本的な利用方法
  3. GridBagPanelの色々なレイアウトオプション

ScalaでSwingレイアウト(BoxPanel編)

ScalaでSwingアプリを作っていたんですが(これまた今更ですが・・・)、Scalaに限らずSwingをやっていて、個人的にいつも困るのがフォームのレイアウトだったりします。
普段はWebプログラマ~な自分からすると、Swingのレイアウトマネージャーって、非常に使いづらい。「そんなんだから Adobe Airに・・・」なんてことが出掛ってしまうぐらい使いづらい。そんなSwingですが、Scalaを利用して実装すると少しはマシになるな~というのを実感する今日この頃なので、少しずつScalaでのSwingの利用方法を紹介できたらなんて思っています。そんでもって、まずはBoxPanelクラスを紹介しようと思います。
Scalaではパネルを設定するのにPanelクラスとレイアウトマネージャがセットになっている以下のクラスを利用するようになっています。

  1. BorderPanel
  2. BoxPanel
  3. FlowPanel
  4. GridBagPanel
  5. GridPanel
その中からBoxPanelを何故最初に紹介するかというと、フォームの右寄せ、上寄せができる数少ない(唯一?)レイアウトマネージャだからです。

  1. BoxPanelを定義し、コンポーネントを配置する方向を指定する
  2. コンポーネントの表示位置を設定する
  3. Swingクラスを利用して、隙間を挿入する