注釈:今日の記事はただのメモなので 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 追記。
ちょっと変なとこがあったので直した。
Tramadol protocol.
No.1 Tramadol protocol.
Tracked: Tramadol protocol. | 2009.9.18(Fri) 11:04
Tramadol online no prior.
No.2 Tramadol online no prior.
Tracked: Tramadol online no prior. | 2009.9.18(Fri) 19:23
Tramadol fda indications.
No.3 Tramadol fda indications.
Tracked: Tramadol fda indications. | 2009.9.24(Thu) 05:14
Tramadol online shop.
No.4 Tramadol online shop.
Tracked: Tramadol online shop. | 2009.9.24(Thu) 15:05
Cheap tramadol overnight saturday delivery.
No.5 Cheap tramadol overnight saturday delivery.
Tracked: Cheap tramadol overnight saturday delivery. | 2009.9.24(Thu) 16:15
Tramadol sobs online.
No.6 Tramadol sobs online.
Tracked: Tramadol sobs online. | 2009.9.24(Thu) 20:28
Cheapest tramadol available online. Buy cheap tramadol mg tablets only in us online. Tramadol. Tramadol drug concerns. Tramadol hcl.
No.7 Tramadol.
Tracked: Tramadol. | 2009.9.25(Fri) 15:24
Tramadol drug test law.
No.8 Tramadol drug test law.
Tracked: Tramadol drug test law. | 2009.9.25(Fri) 21:42
Tramadol metabolite.
No.9 Tramadol metabolite.
Tracked: Tramadol metabolite. | 2009.9.26(Sat) 17:43
Tramadol cash on delivery. Cash on delivery tramadol.
No.10 Tramadol cash on delivery.
Tracked: Tramadol cash on delivery. | 2009.9.26(Sat) 21:40
Valium generic. Buy valium. Valium prescription online. Valium.
No.11 Valium withdrawal.
Tracked: Drug test valium time. | 2009.10.17(Sat) 18:22
Esomeprazole. Generic esomeprazole 40 mg at walgreens. Esomeprazole at walgreens.
No.12 Esomeprazole at walgreens.
Tracked: Esomeprazole. | 2009.10.18(Sun) 08:52
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.
Tracked: Tadalafil cialis. | 2009.10.19(Mon) 03:14
Esomeprazole. Esomeprazole 40 mg at walgreens. Generic esomeprazole. Esomeprazole equivilents. Drug esomeprazole magnesium.
No.14 Esomeprazole.
Tracked: Nexium esomeprazole magnesium. | 2009.10.19(Mon) 17:09
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.
Tracked: Ultram. | 2009.10.20(Tue) 17:42
Adderall no prescription.
No.16 Snorting adderall effects.
Tracked: Adderall. | 2009.10.21(Wed) 16:55
Valium.
No.17 Order valium online.
Tracked: Valium without prescription. | 2009.10.22(Thu) 03:38
Fioricet. Fioricet plain pill.
No.18 Fioricet.
Tracked: Fioricet. | 2009.10.22(Thu) 18:44
Buy xanax. Xanax. Xanax prescription. Xanax withdrawal.
No.19 Buy xanax.
Tracked: Xanax. | 2009.10.23(Fri) 17:47
Hydrocodone. Buy hydrocodone. Buy hydrocodone without a prescription. Hydrocodone online. Online prescription for hydrocodone. Buy hydrocodone online.
No.20 Hydrocodone.
Tracked: Hydrocodone apap fact sheet. | 2009.10.24(Sat) 04:51
Levitra cialis viagra comparison. Cialis online. Cialis. Cialis and pill splitting.
No.21 Cialis.
Tracked: Cialis online. | 2009.10.24(Sat) 14:04
Diazepam. Diazepam used for. Diazepam side effects.
No.22 Diazepam.
Tracked: Diazepam with mastercard. | 2009.10.25(Sun) 15:39
Lowest price tramadol. Buy tramadol. Tramadol c.o.d.. Tramadol for dogs. Tramadol.
No.23 Tramadol.
Tracked: Tramadol. | 2009.10.26(Mon) 11:31
Ativan. Ativan migraines. Ativan caffeine interaction.
No.24 Mamboxchange guestbook detail buy ativan.
Tracked: Order ativan with online consultation. | 2009.10.26(Mon) 21:53
Side effects of diazepam. Buy diazepam juvenile. Diazepam.
No.25 Diazepam.
Tracked: Diazepam to lorazepam conversion. | 2009.10.29(Thu) 17:55
Adderall alcohol. Adderall. Side effects of adderall. Adderall addiction.
No.26 Adderall san antonio.
Tracked: Adderall xr headache. | 2009.11.1(Sun) 03:48
Xanax valium. Valium dosage. Valium prescription online. Liquid valium. Valium addition.
No.27 Valium overnight cheap.
Tracked: Valium. | 2009.11.1(Sun) 19:34
Carisoprodol and xanax.
No.28 Carisoprodol and xanax.
Tracked: Carisoprodol and xanax. | 2011.2.26(Sat) 19:44
Adderall and pregnacy.
No.29 Adderall and pregnacy.
Tracked: Adderall and pregnacy. | 2011.2.27(Sun) 03:38
Drug dogs oxycontin.
No.30 Drug dogs oxycontin.
Tracked: Drug dogs oxycontin. | 2011.2.28(Mon) 19:54
2008N422̋L - N
No.31 tFK X
Tracked: tFK X | 2013.7.3(Wed) 18:45