【slim3 + Slim Validation v3】チェックボックスが選択されていない時にエラーを出す

フレームワークSim3を使って、

Slim Validation v3というバリデーションを使っていましたが、

なぜかチェックボックスのバリデーションが上手くいきませんでした。

その時の対処法です。

 

本来であればV::notBlank()で配列データの空チェックもいける…はず

 

ドキュメントを見る限り

V::notBlank()

これで配列の空チェックもいけると思ったのですが、

チェックボックスにチェックを入れても、

エラーが表示されてしまい困りました。

 

使い方が正しく無い可能性が高いのですが、

これ以上わからず苦戦します。

 

addError()というメソッドで対処する事にしました

Slim Validation v3のドキュメントを見ていると、addError()というメソッドを見つけ、

これでエラーを追加する事で対処しました。

 

これが正解ではないとは思いますので、

わかり次第改修していく予定です。

$formdata = $request->getParsedBody();

if( !is_array($formdata['checkbox'])){
	$this->app->validator->addError('checkbox[]','チェックボックスが未選択です!!!!!');
}

※$this->appはSlimのインスタンスです。

 

バリデーションの設定方法はこちら。