CakePHPでvalidateErrorを自分で設定する【message】
2019/10/122017/02/15投稿ではてなブログから移行した内容です.
雑談
今日はバレンタインでしたね。僕はいつも通りバイトでした。
午前中はCakePHPの案件、午後はFuelPHPの案件をやっていたのですが、やっぱりFuelPHP最高ですね。
思わずつぶやいてしましました。
今日はバレンタイン
— 高木徹 (@TTrpbm) February 14, 2017
駅前では恋人を待つ人ばかり
JKもたくさん歩いてる
世の中は恋愛で浮かれ気分
そんな中僕はCakePHPの案件からFuelPHPの案件に戻された
実家のような安心感
僕は気づいてしまった
FuelPHPが好きだ!
(やっぱりCakePHPは糞だ)
本題
そんな話はさておき、今日新しく学んだことはvalidateErrorを自分で設定することです。
何を言ってんだこいつって思うと思います。
(自分でも何を言っているかわからない)
CakePHPのvalidate記述
<?php
public $validate = array(
'filedName' => array(
'rule' => 'date',
'message' => '正しい形式にしてください',
),
);
?>
こんな感じだと思います(うろ覚え)
ですが、入力された時だけValidateしたいときなど、
自分でルールを書いたりしたいときもあると思います。
Validationルールを自分で作成
これが正しいのかわかりませんが、今日自分が実装した方法はこちら。
<?php
public $validate = array(
'fieldName' => array(
'rule' => array('hoge'),
),
);
public function hoge($check) {
if (!empty(this->data['Model']['value']) || !empty(this->data['Model']['value'])) {
$this->test();
$this->hello();
return 0;
}
ModelName->invalidate('fieldName', 'message');
}
public function test() {
ModelName->invalidate('fieldName', 'message');
}
public function hello() {
ModelName->invalidate('fieldName', 'message');
}
?>
こんな感じで自由にValidateできました。
もしかしたら、一番最初のコードの僕が普通だと思っている形で色々できるのかもしれませんが、
今日という限られた時間の中で実装するためにはこれが限界でした...
総括
<?php
Model->invalidate('fieldName', 'message');
?>
覚えておいて損はないかも
Twitterフォロー待ってます!