2008-02-24に投稿

userDefined

PHP

CakePHPの1.2のバリデーションにuserDefinedというのがある。
これを利用すればフレームワークを汚さなくても
独自のバリデーションを加えることが可能。
具体的な使い方は以下の通り。
まずは特定のモデルもしくはapp_model.php等に
専用のバリデーション関数を追加する。
例えば以下のような関数。
function tel($data) {
return preg_match(’/\d{2,4}-\d{3,4}-\d{4}/’) ? true : false;
}
そしてモデルのバリデーション設定には以下のように設定。
var $validate = array(
‘tel’ => array(’rule’ => array(’userDefined’, ‘User’, ‘tel’)),
);
配列の3つめに先ほどのtelを記入。
2番目はよく分からないけどモデル名を書いておけばよいと思う。
別のモデルのも使えるよと言うことだろうか。

ちなみに、モデル内にruleで指定するメソッドを定義しておけばそれでもいいらしい。

ツイッターでシェア
みんなに共有、忘れないようにメモ

だら@Crieit開発者

Crieitの開発者です。 主にLAMPで開発しているWebエンジニアです(在宅)。大体10年ちょい。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel, Vue.js, RoR 趣味:Elixir, Phoenix, Node, Nuxt, Express, React等色々

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント