EthnaのActionFormで
'hoge' => array(
'type' => VAR_TYPE_BOOLEAN,
),
//省略
$this->af->validate();
とした時の挙動が思ってたのと違ったのでメモ
hoge
のvalueをtrueにしたくて
<input type='checkbox' name='hoge' value='true'>
としてしまうと、チェックを入れて送信するとvalidateに通らない
どうやら文字列の'true'
ではBOOLEANとは判定してくれないらしい
af->set()
でvalidateする値を変更して検証してみた
-
true,false
- 通る
-
'true','false'
- 通らない
-
0,1
- 通る
-
'0','1'
- 通る
この中では'true'
と'false'
だけvalidateを通過することができなかった
inputのvalueでtrue
かfalse
を直接送れればいいんだけどvalueは文字列として送信されてしまう
そもそもチェックボックスが選択されていなければ何も送信されないので、どうにかしてtrueであることさえ伝わればいい
今回はvalueに'1'
を入れて送信することにした
追記
リファレンスにVAR_TYPE_BOOLEAN 真偽値(1/0)
って書いてありますね