logo
home > web > MovableType フォームプラグイン CreamForm その3

MovableType フォームプラグイン CreamForm その3

MovableType フォームプラグイン CreamForm その3

5. 入力チェックについて
入力チェックは下記の9つ用意されています。
    email      メール
    tel        電話番号
    zip        郵便番号
    integer    整数
    alphabet   アルファベット
    alphadigit  英数
    uri        URL
    max_length  最大入力字数
    min_length  最小入力字数

フォームの入力値とこの9つの入力チェックを結びつけているのは
 plugins/CreamForm/lib/CreamForm/Cream.pm
のファイルになります。

該当箇所は下記。
use constant RULE => [
  {
    name        => 'email',
    check       => [qw(email not_null)],
    max_length  => undef,
    min_length  => undef,
    label       => 'メールアドレス',
  },
  {
    name => 'name',
    check => [qw(not_null)],
    max_length => 50,
    min_length => 1,
    label       => '名前',
  },
  {
    name => 'type',
    check => [qq(not_null)],
    max_length => undef,
    min_length => undef,
    label       => 'お問い合わせ理由',
  },
  {
    name => 'content',
    check => [qw(not_null max_length)],
    max_length => 200,
    min_length => undef,
    label       => '本文',
  },
];


name フォームテンプレートのnameと紐づきます。
check 9つのうちどのチェックを適用するかを指定します。複数可。
max_length 最大文字数
min_length 最小文字数
label エラー時の項目表示名です。



例としてメールアドレス入力について見てみましょう。
  {
    name        => 'email',          
  →フォームテンプレのnameがemailの入力値について
   判定をすることになります。
    check       => [qw(email not_null)],    
  →9つのチェックのうちemailとnot_nulの判定をします。
    max_length  => undef,         
  →最大値文字数はチェックしません
    min_length  => undef,         
  →最小値文字数はチェックしません
    label       => 'メールアドレス',      
  →エラー時の表示名称は「メールアドレス」と表示されます
  },


上記の例でフォームのメールアドレスを必須項目から任意入力にする場合は
not_nullを削除してしまえば良い訳です。

また最大文字数を30文字までにするなら
    max_length  => 30,
とすればよいです。         



6. 項目の追加や拡張について
準備中。




JavaScript Journal | JavaScript総合情報サイト

このブログ記事について

このページは、marooonが2011年10月24日 23:32に書いたブログ記事です。

ひとつ前のブログ記事は「MovableType フォームプラグイン CreamForm その2」です。

次のブログ記事は「既存のDB(Postgres)にpostgisを導入して位置情報を使えるようにするためには」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。