Tripletail::Form - フォーム情報

# NAME

Tripletail::Form - フォーム情報

# SYNOPSIS

      my $form = $TL->newForm;
      $form->set(Command => 'DoDispList');

      $TL->location(
          $form->toLink('foo.cgi'));
      # Location: http://....../foo.cgi?Command=DoDispList

# DESCRIPTION

CGIへのクエリ情報を保持するクラス。 一つのキーに対し、1つ以上の値を持つ。

## METHODS

`$TL->newForm`

        $form = $TL->newForm
        $form = $TL->newForm(a => 1, b => [2, 20])
        $form = $TL->newForm({a => 1, b => [2, 20]})
        $form = $TL->newForm('http://foo.com/?a=1&b=2&b=20')

  Tripletail::Form オブジェクトを作成。 三番目の形式ではURLからクエリ情報がデコードされる。

const

        $form->const

  このメソッドを呼び出すと、以後フォームデータの変更は不可能となる。

isConst

        $form->isConst

  フォームオブジェクトに対して const メソッドが呼ばれたかどうかを返す。

clone

        $NewForm_obj = $form->clone

  フォームオブジェクトの複製を返す。

addForm

        $form->addForm($another_form)

  フォームに別のフォームデータを追加する。同じキーが存在した場合、 そのキーのデータは置き換えられる。

getKeys

        @keys = $form->getKeys

  フォームのキー一覧を返す。ここで返すキーには、アップロードされたファイ ルに付けられたものは含まない。

get

        $value = $form->get($key)
        $value = $form->get($key, $joinstr)

  指定したキーの値を $joinstr で結合して返す。$joinstr省略時は "," が使用 される。$key が存在しない場合は undef を返す。ファイルのキーを指定した 場合も undef を返す。

getValues

        @values = $form->getValues($key)

  指定したキーの値を配列で返す。 $key が存在しない場合は () を返す。

getSlice

        %data = $form->getSlice(@keys)

  指定した複数キーに対して、キーと値が１つなら値そのものを、値が複数なら 複数の値の配列へのリファレンスのペアを、ハッシュとして返す。 存在しないキーは無視される。

getSliceValues

        @values = $form->getSliceValues(@keys)

  指定した複数キーに対して、値が１つなら値そのものを、値が複数なら 複数の値の配列へのリファレンスを対応させて、配列として返す。 存在しないキーに対しては、それに対応する値はundefになる。

lookup

        $flag = $form->lookup($key, $value)

  指定されたキーに指定された値があれば、1を。そうでなければundefを返す。 $keyが存在しなくてもエラーとはならない。

set

        $form->set($key => $value, $key2 => $value2, ...)
        $form->set($key => \@value, $key2 => \@value2, ...)

  指定されたキーに、指定された値をセットする。 以前の値は失われる。（上書きされる）

add

        $form->add($key => $value, $key2 => $value2, ...)
        $form->add($key => \@value, $key2 => \@value2, ...)

  指定されたキーに、指定された値を追加する。 以前の値は失われない。（追加される）

exists

        $flag = $form->exists($key)

  キーが存在すれば1を、そうでなければundefを返す。 ファイルの確認には使えない(常に偽となる)。

remove

        $form->remove($key, $value)

  指定されたキーから、指定された値を取り除く。 指定されたキーや値がない場合は何もしない。

delete

        $form->delete($key)

  指定されたキーを削除する。キーが存在しない場合は何もしない。

existsFile

        $flag = $form->existsFile($key)

  アップロードキーが存在すれば1を、そうでなければundefを返す。 ファイルが実際にアップロードされたかどうかに関わらず, キーの存在だけを 判断します.

isUploaded

        $flag = $form->isUploaded($key)

  キーに対応するファイルがアップロードされていれば1を、 そうでなければundefを返す。

getFile

        $iohandle = $form->getFile($key);

  キーに対応するIOハンドルを取り出す。ファイルアップロード時のみ取得でき る。ファイルアップロードではなかった場合や、キーが存在しない場合は undef を返す。

setFile

        $form->setFile($key, $iohandle);

  指定したキーにIOハンドルをセットする。

getFileKeys

        @keys = $form->getFileKeys();

  アップロードされたファイルのキー一覧を返す。

getFileName

        $filename = $form->getFileName($key)

  キーに対応するファイル名を取り出す。ファイルアップロード時のみ取得でき る。ファイルアップロードではなかった場合や、キーが存在しない場合は undef を返す。

setFileName

        $form->setFileName($key => $value)

  指定したキーにファイル名をセットする。

setLink

        $form->setLink('http://.../?a=1&b=2')

  URLからデコードして得られたキーと値のペアで、古い値を置き換える。

addLink

        $form->addLink('http://.../?a=1&b=2')

  URLからデコードして得られたキーと値のペアを追加する。

setFragment

        $form->setFragment($fragment)
        $form->setFragment(undef)

  URLのフラグメントを設定する。これはtoLinkの結果に影響する。

getFragment

        $fragment = $form->getFragment;

  URLのフラグメントを取得する。

toLink

        $url = $form->toLink($base)

  フォームデータをURLの形式に変換し返す。$baseを指定すると、そのURLの後に 「?key=value」形式でデータを追加する。$baseを省略もしくはundefを指定すると、 自分自身へのリンクを返す。

  URLが指し示す先はTLフレームワークで作成されたアプリケーションであると見なし、 文字コード判別用のデータを付与する。 TLフレームワークで作成されたアプリケーション以外へのリンクを作成する場合は、 toExtLinkメソッドを利用すること。

  フラグメントが存在する場合は、それが #xxx の形でURLの中に組み込まれる。

toExtLink

        $url = $form->toExtLink($base)
        $url = $form->toExtLink($base, $code)

  フォームデータをURLの形式に変換し返す。$baseを指定すると、そのURLの後に 「?key=value」形式でデータを追加する。$baseを省略もしくはundefを指定すると、 自分自身へのリンクを返す。

  $codeで文字コードを指定すると、文字コードを変換してからURLエンコードする。 指定しなかった場合は UTF-8 コードで出力する。

  フラグメントが存在する場合は、それが #xxx の形でURLの中に組み込まれる。

haveSessionCheck

        $result = $form->haveSessionCheck($sessiongroup)
        $result = $form->haveSessionCheck($sessiongroup, $issecure)

  指定したセッショングループのセッションIDを利用したキーが現在フォームに埋め込まれているかを確認する。 埋め込まれていれば、1を。いなければ、undefを返す。 $Template->addSessionCheck とペアで使用する。

  指定したセッショングループのIniで設定するcsrfkeyを必要とする。未設定の場合エラーとなる。 csrfkeyとセッションIDを利用してキーを作成する為、csrfkeyはサイト毎に違う値を用い、外部に漏れないようにする事。

  使用中のセッションの mode が 'double' の場合は、 第2引数に 0 または 1 を指定すると、http側、https側を指定できる。 省略した場合は、そのときの通信が http/https のどちらであるかによって選択される。

# SEE ALSO

Tripletail

# AUTHOR INFORMATION

Copyright 2006 YMIRLINK Inc. All Rights Reserved.

This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself

このフレームワークはフリーソフトウェアです。あなたは Perl と同じライセンスの 元で再配布及び変更を行うことが出来ます。

Address bug reports and comments to: tl@tripletail.jp

HP : http://tripletail.jp/

Tripletail::Form - フォーム情報

# INDEX

- $TL->newForm
- AUTHOR INFORMATION
- DESCRIPTION
- METHODS
- NAME
- SEE ALSO
- SYNOPSIS
- add
- addForm
- addLink
- clone
- const
- delete
- exists
- existsFile
- get
- getFile
- getFileKeys
- getFileName
- getFragment
- getKeys
- getSlice
- getSliceValues
- getValues
- haveSessionCheck
- isConst
- isUploaded
- lookup
- remove
- set
- setFile
- setFileName
- setFragment
- setLink
- toExtLink
- toLink

Tripletail::Form - フォーム情報