LoginSignup
4
4

More than 5 years have passed since last update.

EthnaのVAR_TYPE_BOOLEANに対するvalidateの挙動

Last updated at Posted at 2014-07-08

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でtruefalseを直接送れればいいんだけどvalueは文字列として送信されてしまう
そもそもチェックボックスが選択されていなければ何も送信されないので、どうにかしてtrueであることさえ伝わればいい
今回はvalueに'1'を入れて送信することにした

追記

リファレンスにVAR_TYPE_BOOLEAN 真偽値(1/0)って書いてありますね

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4