カテゴリー別
過去日記
2024年
2023年
2022年
2021年
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
このサイトについて
心に移り行くよしなしごとを、そこはかとなく書きつくっています。

管理人:
サル(英明藤吉)
広島県に左遷中。

現在の生きる糧:
-Game
・アイドルマスター
・ビューティフル塊魂
・リトルバスターズ

-Anime
・らき☆すた
・電脳コイル
・CLANNAD
・スクールデイズ
・天元突破グレンラガン
・もえたん
・こどものじかん
・げんしけん
・絶望先生
・ななついろ☆ドロップス
・キミキス
・みなみけ
注釈:今日の記事はただのメモなので Web プログラマー以外は何の得も無いです。



世の中、同じようなものがいろいろ溢れていてどれか一つに集約できないものなのかと常々思うサルです。


まぁそれぞれ一長一短だろうし、選択肢がいくつかある方がいいことは分かりますがね。

('A`) 文字コードは害悪以外の何者でもないような気もしますが。





最近、仕事で Symfony(シンフォニー)とかいう PHP のフレームワークを使ってるんですが、いろいろ便利ですねこれ。

コマンド叩いただけでいろんな雛形が作られるとか、すご過ぎるwwwwww


しかし如何せん、まだ日本語ドキュメントがそう多くないせいか、ちょっと細かいことをしようと思うと日本語の検索で引っかかってくれないから困る。


日付をコンボボックスで選んで確認ページに遷移するときに、日付が正しいかチェックするような動きを苦労の末、やっとこさ作ることに成功したのでメモとしてココに記す。




きっと同じようなことで悩んでいる人がいるに違いないと信じて。












※設定ファイル(YAML)

apps/[アプリ名]/modules/[モジュール名]/validate/[確認ページ].yml

fields:

#
# 日付
#

datetime:
required:
msg: 日付を入れてくだちい。

myDateValidator: # バリデータクラス名(任意)
error_msg: その日付ダメ、ゼッタイ>< # エラーメッセージ




※バリデータクラス

apps/[アプリ名]/modules/[モジュール名]/lib/myDateValidator.class.php

class myDateValidator extends sfDateValidator
{


public function initialize($context, $parameters=null)
{
parent::initialize($context);
$this->getParameterHolder()->add($parameters);
return true;
}

/**
* Executes
*
*/

public function execute(&$value, &$error)
{
$params = $this->getParameterHolder()->getAll();

$days = implode('-', array($value['year'], $value['month'], $value['day']));
$time = implode(':', $value['time']);

$input_date = strtotime($days.' '.$time);

// 入力されてなかったらエラー
if(empty($input_date)){
$error = $params['error_msg'];
return false;
}

// 今の時間より過去ならエラー
if(time() <= $input_date){
return true;

}else{
$error = $params['error_msg'];
return false;
}
}
}




※テンプレート

apps/[アプリ名]/modules/[モジュール名]/templates/[確認ページ]Success.php


// 日付ヘルパー
use_helper('DateForm');

// 年
echo select_year_tag(
'datetime[year]',
(($sf_params->get('datetime[year]'))? $sf_params->get('datetime[year]'): date('Y')),
'year_start='.date('Y').' year_end='.(date('Y')+2)
).'年';
/*
第1引数…タグ名
第2引数…デフォルト値
第3引数(省略可)…
include_blank=true:optionタグの1番目に空欄挿入
include_custom=文字:optionタグの1番目に任意文字挿入
year_start:開始年
year_end:終了年
何も指定しないと過去・未来に5年ずつ幅が出来る
第4引数(省略可)…
その他、追加するパラメータ(onChangeとか)
*/


// 月
echo select_month_tag(
'datetime[month]',
(($sf_params->get('datetime[month]'))? $sf_params->get('datetime[month]'): date('n')),
'use_month_numbers=true'
).'月';
/*
第1引数…タグ名
第2引数…デフォルト値
第3引数(省略可)…
include_blank=true:optionタグの1番目に空欄挿入
include_custom=文字:optionタグの1番目に任意文字挿入
use_month_numbers:数字で表示(01〜12)
use_short_month:略式の英名で表示(Jan, Feb...Dec)
何も指定しないと英名で表示(January, February...December)
第4引数(省略可)…
その他、追加するパラメータ(onChangeとか)
*/


// 日
echo select_day_tag(
'datetime[day]',
(($sf_params->get('datetime[day]'))? $sf_params->get('datetime[day]'): date('j'))
).'日';
/*
第1引数…タグ名
第2引数…デフォルト値
第3引数(省略可)…
include_blank=true:optionタグの1番目に空欄挿入
include_custom=文字:optionタグの1番目に任意文字挿入
第4引数(省略可)…
その他、追加するパラメータ(onChangeとか)
*/


// 時と分
$time = ($sf_params->get('datetime[time]'))?
array(
'hour' => $sf_params->get('datetime[time][hour]'),
'minute' => $sf_params->get('datetime[time][minute]'),
):
array(
'hour' => date('H'),
'minute' => date('i'),
);

echo select_time_tag(
'datetime[time]',
$time,
'time_seperator=時 minute_step=10'
).'分';
/*
第1引数…タグ名
第2引数…デフォルト値
第3引数(省略可)…
include_blank=true:optionタグの1番目に空欄挿入
include_custom=文字:optionタグの1番目に任意文字挿入
include_second=true:秒タグの追加
second_step:表示時間の間隔(秒)
minute_step:表示時間の間隔(分)
time_seperator:時分の間の文字(デフォルト→":")
第4引数(省略可)…
その他、追加するパラメータ(onChangeとか)
*/




※その他、個々のタグの詳細はこちら(英語注意)




きっとこれで大丈夫(なはず)




2008.04.24 追記。

ちょっと変なとこがあったので直した。

名前:
メールアドレス:
URL:
コメント:
 

トラックバック URL:
at 2008年4月22日 20:55 |  プログラム  |  コメントなしトラックバック(31)
Tramadol protocol.
No.1 Tramadol protocol.

Tramadol online no prior.
No.2 Tramadol online no prior.

Tramadol fda indications.
No.3 Tramadol fda indications.

Tramadol online shop.
No.4 Tramadol online shop.

Cheap tramadol overnight saturday delivery.
No.5 Cheap tramadol overnight saturday delivery.

Tramadol sobs online.
No.6 Tramadol sobs online.

Cheapest tramadol available online. Buy cheap tramadol mg tablets only in us online. Tramadol. Tramadol drug concerns. Tramadol hcl.
No.7 Tramadol.

Tramadol drug test law.
No.8 Tramadol drug test law.

Tramadol metabolite.
No.9 Tramadol metabolite.

Tramadol cash on delivery. Cash on delivery tramadol.
No.10 Tramadol cash on delivery.

Valium generic. Buy valium. Valium prescription online. Valium.
No.11 Valium withdrawal.

Esomeprazole. Generic esomeprazole 40 mg at walgreens. Esomeprazole at walgreens.
No.12 Esomeprazole at walgreens.

Micronized tadalafil. Tadalafil. Discount tadalafil. Tadalafil citrate. Cialis overdose contraindications and information tadalafil. Buy tadalafil online. Generic tadalafil. Tadalafil fourm.
No.13 Kitchen lab tadalafil.

Esomeprazole. Esomeprazole 40 mg at walgreens. Generic esomeprazole. Esomeprazole equivilents. Drug esomeprazole magnesium.
No.14 Esomeprazole.

Ultram. Ultram drugs. Ultram er. Chronic pain treatment ultram er com. Order ultram no prescription. Ultram withdrawal. Ultram tramadol.
No.15 Ultram wont make you fail a drug test.

Adderall no prescription.
No.16 Snorting adderall effects.

Valium.
No.17 Order valium online.

Fioricet. Fioricet plain pill.
No.18 Fioricet.

Buy xanax. Xanax. Xanax prescription. Xanax withdrawal.
No.19 Buy xanax.

Hydrocodone. Buy hydrocodone. Buy hydrocodone without a prescription. Hydrocodone online. Online prescription for hydrocodone. Buy hydrocodone online.
No.20 Hydrocodone.

Levitra cialis viagra comparison. Cialis online. Cialis. Cialis and pill splitting.
No.21 Cialis.

Diazepam. Diazepam used for. Diazepam side effects.
No.22 Diazepam.

Lowest price tramadol. Buy tramadol. Tramadol c.o.d.. Tramadol for dogs. Tramadol.
No.23 Tramadol.

Ativan. Ativan migraines. Ativan caffeine interaction.
No.24 Mamboxchange guestbook detail buy ativan.

Side effects of diazepam. Buy diazepam juvenile. Diazepam.
No.25 Diazepam.

Adderall alcohol. Adderall. Side effects of adderall. Adderall addiction.
No.26 Adderall san antonio.

Xanax valium. Valium dosage. Valium prescription online. Liquid valium. Valium addition.
No.27 Valium overnight cheap.

Carisoprodol and xanax.
No.28 Carisoprodol and xanax.

Adderall and pregnacy.
No.29 Adderall and pregnacy.

Drug dogs oxycontin.
No.30 Drug dogs oxycontin.

2008N422̋L - N
No.31 tFK X