<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>おれ最前線ねっと &#187; CakePHP</title>
	<atom:link href="http://ore.saizensen.net/archives/category/lang/php/cakephp/feed" rel="self" type="application/rss+xml" />
	<link>http://ore.saizensen.net</link>
	<description>イェ〜〜ィ。見てる〜〜〜？？</description>
	<lastBuildDate>Tue, 12 Jul 2011 06:31:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/category/lang/php/cakephp/feed" />
		<item>
		<title>[CakePHP]CakePHP1.2のfind時にDBカラムを型変換して検索条件にする方法。</title>
		<link>http://ore.saizensen.net/archives/197</link>
		<comments>http://ore.saizensen.net/archives/197#comments</comments>
		<pubDate>Mon, 22 Dec 2008 07:56:51 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=197</guid>
		<description><![CDATA[$cond&#91;&#34;to_char(Hoge.date, 'YYYYMMDD') LIKE '%20081222%' and \&#34;Hoge\&#34;.\&#34;id\&#34;&#34; [...]]]></description>
			<content:encoded><![CDATA[				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$cond</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;to_char(Hoge.date, 'YYYYMMDD') LIKE '%20081222%' and <span style="color: #000099; font-weight: bold;">\&quot;</span>Hoge<span style="color: #000099; font-weight: bold;">\&quot;</span>.<span style="color: #000099; font-weight: bold;">\&quot;</span>id<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$hoge</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;Hoge&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;id&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></div></div>

<p>こんな感じで。<br />
私、PostgreSQLしか使わんのでMySQLはよく分からんけど、<br />
どっちもDB関数使いたければ検索条件のカラム名の前に突っ込んだらイイんじゃないかと。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/197/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/197" />
	</item>
		<item>
		<title>[CakePHP]CakePHP1.2の日付選択リストの月表記を英語から数字へ変更する方法。[FormHelper]</title>
		<link>http://ore.saizensen.net/archives/191</link>
		<comments>http://ore.saizensen.net/archives/191#comments</comments>
		<pubDate>Mon, 22 Dec 2008 07:53:16 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=191</guid>
		<description><![CDATA[&#60; ?php $form-&#62;options&#91;'month'&#93; = array_combine&#40;range&#40;1, 12&#41;, range&#40;1, 12&#41;&#4 [...]]]></description>
			<content:encoded><![CDATA[				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'month'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_combine</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">year</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hoge.date&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>年
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">month</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hoge.date&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>月
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">day</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hoge.date&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>日</pre></div></div>
				
				<p><a href="http://fdays.blogspot.com/2008/09/form-select-echo-form-mdy-none.html"><br />
				floatingdays &#8211; CakePHP 1.2 のFormHelperで日付選択リストを作る </a></p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">datetime</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'cal'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'YMD'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'NONE'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'monthNames'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>っていう方法もそういえば有りましたねぇ。ということでメモメモ。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/191/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/191" />
	</item>
		<item>
		<title>[cakephp1.2]CakePHP1.2.0.7296 RC2用DRYなエラーメッセージ出力を一部修正しました。[validate]</title>
		<link>http://ore.saizensen.net/archives/102</link>
		<comments>http://ore.saizensen.net/archives/102#comments</comments>
		<pubDate>Wed, 22 Oct 2008 09:34:49 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=102</guid>
		<description><![CDATA[以前のエントリー[cakephp1.2]CakePHP1.2.0.7296 RC2用DRYなエラーメッセージ出力。[validate] で載せていた【app/models/app_model.php】内のinvalidF [...]]]></description>
			<content:encoded><![CDATA[				<p>以前のエントリー<a href="http://ore.saizensen.net/archives/92">[cakephp1.2]CakePHP1.2.0.7296 RC2用DRYなエラーメッセージ出力。[validate]</a><br />
				で載せていた<em>【app/models/app_model.php】</em>内の<em>invalidFields</em>ファンクション内で<br />
				validate設定の<strong>”required”</strong>を考慮したコードになっていなかったので修正しました。</p>
				<p><a href="http://ore.saizensen.net/archives/92">[cakephp1.2]CakePHP1.2.0.7296 RC2用DRYなエラーメッセージ出力。[validate]</a>に修正済のコードを載せておきました。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/102/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/102" />
	</item>
		<item>
		<title>[cakephp1.2]CakePHP1.2でprefixルーティング設定時の注意点。[携帯]</title>
		<link>http://ore.saizensen.net/archives/94</link>
		<comments>http://ore.saizensen.net/archives/94#comments</comments>
		<pubDate>Mon, 20 Oct 2008 10:25:08 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[携帯]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=94</guid>
		<description><![CDATA[CakePHP1.2.0.7296 RC2で携帯ページを作り始めました。 Versionが1.1の時や、1.2.0.6311 betaなどの時はwebservice機能を使って携帯に対応してましたが、 いつのまにか触らな [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>CakePHP1.2.0.7296 RC2</strong>で携帯ページを作り始めました。<br />
				Versionが1.1の時や、1.2.0.6311 betaなどの時はwebservice機能を使って携帯に対応してましたが、<br />
				いつのまにか触らない間にwebservice機能が無くなっていたので、</p>
				<ul>
				<li><a href="http://www.1x1.jp/blog/2008/04/cakephp_12_routing_prefix.html">CakePHP 1.2で携帯用ビューを表示する</a></li>
				<li><a href="http://sand-man.blog.so-net.ne.jp/2008-09-11">CakePHP その20 〜1.2RC2でPC&#038;携帯対応サイトを考えた 〜　[CakePHP]</a></li>
				<li><a href="http://sand-man.blog.so-net.ne.jp/2008-09-20">CakePHP その21 〜MobileHelper2 〜　[CakePHP]</a></li>
				</ul>
				<p>を参考にしました。基本的にはそのままコードを使わせてもらいました。<br />
				あとは、CakePHPガイドブックに載っているMobileComponentや、<a href="http://php-develop.org/MobilePictogramConverter/">MobilePictogramConverter</a>で簡単に作れるEmojiComponentを読み込んだりと、以前に作った物をそのまま流用という感じです。</p>
				<p>で、肝心の注意点ですが、</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">Router<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/m/:controller/:action/*'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'prefix'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'mobile'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>とするだけだと、Viewで</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$paginator</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prev</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt; &lt; 前へ&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> 
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$paginator</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">numbers</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> 
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$paginator</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">next</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;次へ &gt;&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>
				
				<p>と書いていると、携帯用viewは良いんですが、PC用viewでのリンクが<br />
				<strong>http://localhost:8080/~bubbkis/m/staffs/clientsList/page:2</strong><br />
				みたいな感じでPC用の出力画面なのに、URLに<strong>「m」</strong>が入ってしまいました。<br />
				ということで、</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/\/m\//&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> Router<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/m/:controller/:action/*'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'prefix'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'mobile'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>としましたよ。と。<br />
無駄にRouterクラスまで見に行ったりしてたら半日使っちゃったよ・・・こんだけの事で。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/94/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/94" />
	</item>
		<item>
		<title>[cakephp1.2]CakePHP1.2.0.7296 RC2用DRYなエラーメッセージ出力。[validate]</title>
		<link>http://ore.saizensen.net/archives/92</link>
		<comments>http://ore.saizensen.net/archives/92#comments</comments>
		<pubDate>Mon, 22 Sep 2008 05:51:08 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/archives/92</guid>
		<description><![CDATA[※　2008/10/22追記 【app/models/app_model.php】内のinvalidFieldsファンクション内でvalidate設定の&#8221;required&#8221;を考慮したコードになって [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>※　2008/10/22追記</strong><br />
				<em>【app/models/app_model.php】内のinvalidFieldsファンクション内でvalidate設定の&#8221;required&#8221;を考慮したコードになっていなかったので修正しました。適当なコード載っけてすみません。</em></p>
				<p>以前にngtnさんの<a href="http://d.hatena.ne.jp/ngtn/20080323/1206281439">validationのメッセージ出力をDRYにしてみる</a>っていうエントリーを見てから、CakePHP1.2ではずっとDRYなエラーメッセージ出力を使わせてもらってたんですが、CakePHPのバージョンを<strong>1.2.0.7296 RC2</strong>にすると動かなくなってしまいました。</p>
				<p>で、動くようにしてみましたよ。偉そうにいうほどの修正量じゃありませんが・・・<br />
				修正したのは【app/app_model.php】のみです。全部載っけておきます。</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
config<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'messages'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">class</span> AppModel <span style="color: #000000; font-weight: bold;">extends</span> Model <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		parent<span style="color: #339933;">::</span>__construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span> <span style="color: #339933;">=&amp;</span> ConnectionManager<span style="color: #339933;">::</span><span style="color: #004000;">getDataSource</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">useDbConfig</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> escape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">value</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//テーブル名のゲッタ</span>
	<span style="color: #000000; font-weight: bold;">function</span> getTableName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #666666; font-style: italic;">//重複チェックのバリデート</span>
	<span style="color: #000000; font-weight: bold;">function</span> checkDuplicate<span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$cond</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">key</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'= '</span><span style="color: #339933;">.</span><span style="color: #990000;">current</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getID</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$cond</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getTableName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.id'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'!= '</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">findCount</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cond</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009933; font-style: italic;">/**
	 * invalidFieldsメソッドのオーバーライド
	 *
	 * @param array $data Parameter usage is deprecated, set Model::$data instead
	 * @return array Array of invalid fields
	 * @access public
	 */</span>
	<span style="color: #000000; font-weight: bold;">function</span> invalidFields<span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Behaviors</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">trigger</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'beforeValidate'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'break'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'breakOn'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">beforeValidate</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validationErrors</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validate</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validate</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validationErrors</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$methods</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_map</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'strtolower'</span><span style="color: #339933;">,</span> <span style="color: #990000;">get_class_methods</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$behaviorMethods</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_keys</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Behaviors</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">methods</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">alias</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">alias</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000088;">$Validation</span> <span style="color: #339933;">=&amp;</span> Validation<span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">exists</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validate</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$fieldName</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$ruleSet</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruleSet</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruleSet</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruleSet</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rule'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$ruleSet</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruleSet</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000088;">$default</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'allowEmpty'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'required'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rule'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'blank'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'last'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'on'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruleSet</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$index</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000088;">$validator</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'rule'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000088;">$validator</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_merge</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$default</span><span style="color: #339933;">,</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000088;">$message</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000088;">$message</span> <span style="color: #339933;">=</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'This field cannot be left blank'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
&nbsp;
				<span style="color: #000088;">$messageParams</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message_params'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000088;">$messageParams</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message_params'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
&nbsp;
				<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'on'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'on'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'create'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>__exists<span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'on'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'update'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>__exists<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fieldName</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'required'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fieldName</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fieldName</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #990000;">is_numeric</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fieldName</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allowEmpty'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">invalidate</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fieldName</span><span style="color: #339933;">,</span> <span style="color: #000088;">$message</span><span style="color: #339933;">,</span> <span style="color: #000088;">$messageParams</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'last'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
					<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">array_key_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fieldName</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fieldName</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fieldName</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'0'</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'allowEmpty'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
						<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rule'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #000088;">$rule</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rule'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
							<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rule'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$ruleParams</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_merge</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fieldName</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array_values</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rule'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$messageParams</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_values</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rule'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
						<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #000088;">$rule</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rule'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$ruleParams</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fieldName</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$messageParams</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
						<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">array_key_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rule</span><span style="color: #339933;">,</span> Messages<span style="color: #339933;">::</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #000088;">$message</span> <span style="color: #339933;">=</span> Messages<span style="color: #339933;">::</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$rule</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$message</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
&nbsp;
						<span style="color: #000088;">$valid</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
						<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rule</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$methods</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #000088;">$ruleParams</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_diff_key</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #339933;">,</span> <span style="color: #000088;">$default</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$ruleParams</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fieldName</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$ruleParams</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$valid</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dispatchMethod</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rule</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ruleParams</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rule</span><span style="color: #339933;">,</span> <span style="color: #000088;">$behaviorMethods</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rule</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$behaviorMethods</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #000088;">$ruleParams</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_diff_key</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #339933;">,</span> <span style="color: #000088;">$default</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$ruleParams</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fieldName</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$ruleParams</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000088;">$valid</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Behaviors</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dispatchMethod</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #000088;">$rule</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ruleParams</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">method_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Validation</span><span style="color: #339933;">,</span> <span style="color: #000088;">$rule</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #000088;">$valid</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$Validation</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dispatchMethod</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rule</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ruleParams</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rule'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #000088;">$valid</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rule</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$fieldName</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
						<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$valid</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
								<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$index</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
									<span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$index</span><span style="color: #339933;">;</span>
								<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
									<span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ife<span style="color: #009900;">&#40;</span><span style="color: #990000;">is_numeric</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$index</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruleSet</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$index</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$message</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
								<span style="color: #009900;">&#125;</span>
							<span style="color: #009900;">&#125;</span>
							<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">invalidate</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fieldName</span><span style="color: #339933;">,</span> <span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$messageParams</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
							<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$validator</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'last'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
								<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
							<span style="color: #009900;">&#125;</span>
						<span style="color: #009900;">&#125;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validationErrors</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009933; font-style: italic;">/**
	 * invalidateのオーバーライド
	 *
	 * @param string $field The name of the field to invalidate
	 * @param string $value Name of validation rule that was not met
	 * @access public
	 */</span>
	<span style="color: #000000; font-weight: bold;">function</span> invalidate<span style="color: #009900;">&#40;</span><span style="color: #000088;">$field</span><span style="color: #339933;">,</span> <span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$messageParams</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validationErrors</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validationErrors</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$messageParams</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #990000;">vsprintf</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #339933;">,</span> <span style="color: #000088;">$messageParams</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #666666; font-style: italic;">// 既にセットしてある場合は、区切り文字を挟んで連結する</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validationErrors</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$field</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validationErrors</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$field</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.=</span> Messages<span style="color: #339933;">::</span><span style="color: #000088;">$separator</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$value</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validationErrors</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$field</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$value</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>
				
				<p>こんだけです。いちおう他のスクリプトも。<br />
				【app/config/messages.php】</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #000000; font-weight: bold;">class</span> Messages <span style="color: #009900;">&#123;</span>
	<span style="color: #009933; font-style: italic;">/**
	 * メッセージの区切り文字
	 *
	 * @var string
	 */</span>
	static <span style="color: #000088;">$separator</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009933; font-style: italic;">/**
	 * validationルールに対応するエラーメッセージ
	 *
	 * @var array
	 */</span>
	static <span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
		VALID_NOT_EMPTY	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'必ず入力してください。'</span><span style="color: #339933;">,</span>
		VALID_NUMBER 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'半角数字を入力してください。'</span><span style="color: #339933;">,</span>
		VALID_EMAIL 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'メールアドレス形式で入力してください。'</span><span style="color: #339933;">,</span>
		VALID_YEAR 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'年(1000~2999)を入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'alphaNumeric'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'半角英数字を入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'between'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'%1$d文字以上%2$d文字以内の半角数字を入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'blank'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'空でなければなりません。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'cc'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'クレジットカード番号として正しくありません。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'comparison'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'入力値%1$s%2$sを満たす値を入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'custom'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'入力値が正しくありません。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'date'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'日付形式(%1$s)で入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'decimal'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'小数点第%1$d位までの半角数字を入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'email'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'メールアドレス形式で入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'equalTo'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'入力値が&quot;%1$s&quot;と一致しません。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'extension'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'拡張子が正しくありません。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'file'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>	<span style="color: #666666; font-style: italic;">// 実装されていない</span>
		<span style="color: #0000ff;">'ip'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'IPアドレス形式で入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'minLength'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'%1$d文字以上で入力してください'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'maxLength'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'%1$d文字以内で入力してください'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'money'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'入力値が正しくありません。'</span><span style="color: #339933;">,</span><span style="color: #666666; font-style: italic;">// 通貨?		</span>
		<span style="color: #0000ff;">'multiple'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>	<span style="color: #666666; font-style: italic;">// 実装されていない</span>
		<span style="color: #0000ff;">'numeric'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'半角数字を入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'phone'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'電話番号形式で入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'postal'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'郵便番号形式で入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'range'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'%1$dより大きく%2$dより小さい半角数字を入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'ssn'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'ソーシャルセキュリティナンバー形式で入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'url'</span> 		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'URL形式で入力してください。'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'userDefined'</span> 	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'入力値が正しくありません。'</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>
				
				<p>【app/views/helpers/app_form.php】</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #000000; font-weight: bold;">class</span> AppFormHelper <span style="color: #000000; font-weight: bold;">extends</span> FormHelper <span style="color: #009900;">&#123;</span>
	<span style="color: #009933; font-style: italic;">/**
	 * errorメソッドのオーバーライド
	 *
	 * @param string $field A field name, like &quot;Modelname.fieldname&quot;, &quot;Modelname/fieldname&quot; is deprecated
	 * @param string $text		Error message
	 * @param array $options	Rendering options for &lt;div /&gt; wrapper tag
	 * @return string If there are errors this method returns an error message, otherwise null.
	 * @access public
	 */</span>
	<span style="color: #000000; font-weight: bold;">function</span> error<span style="color: #009900;">&#40;</span><span style="color: #000088;">$field</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setEntity</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$field</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_merge</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wrap'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'class'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'error-message'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'escape'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tagIsInvalid</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">is_numeric</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$error</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$error</span><span style="color: #339933;">--;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span> <span style="color: #339933;">!=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$text</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_numeric</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Error in field %s'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> Inflector<span style="color: #339933;">::</span><span style="color: #004000;">humanize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">field</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'escape'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> h<span style="color: #009900;">&#40;</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'escape'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000088;">$messages</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span>Messages<span style="color: #339933;">::</span><span style="color: #000088;">$separator</span><span style="color: #339933;">,</span> <span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$messages</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$message</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'wrap'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'wrap'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">output</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Html</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tags</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'error'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_parseAttributes<span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$message</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000088;">$options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'wrap'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$message</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>	
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>
				
				<p>【app/controllers/app_controller.php】</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>php <span style="color: #000000; font-weight: bold;">class</span> AppController <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$helpers</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Html'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Form'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'AppForm'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;/</span>php<span style="color: #339933;">&gt;</span></pre></div></div>
				
				<p>以上です。使いかたはngtnさんの<a href="http://d.hatena.ne.jp/ngtn/20080323/1206281439">validationのメッセージ出力をDRYにしてみる</a>っていうエントリーを見てください。<span id="more-92"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/92/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/92" />
	</item>
		<item>
		<title>[cakephp]テーブル未使用モデルで$this-&gt;Model-&gt;create()するとエラー吐くよ。</title>
		<link>http://ore.saizensen.net/archives/74</link>
		<comments>http://ore.saizensen.net/archives/74#comments</comments>
		<pubDate>Tue, 13 May 2008 10:00:20 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/archives/74</guid>
		<description><![CDATA[Modelで var $useTable = false; という設定をして、 $this-&#62;Model-&#62;create&#40;$this-&#62;data&#41;; をすると、 Warning &#40 [...]]]></description>
			<content:encoded><![CDATA[				<p>Modelで</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$useTable</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span></pre></div></div>

<p>という設定をして、</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Model</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>
				
				<p>をすると、</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">Warning <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">512</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span>Model<span style="color: #339933;">::</span><span style="color: #004000;">getColumnType</span><span style="color: #009900;">&#41;</span> Unable to locate model field data<span style="color: #339933;">.</span> <span style="color: #b1b100;">If</span> you are using a model without a database table<span style="color: #339933;">,</span> try implementing schema<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#91;</span>CORE<span style="color: #339933;">/</span>cake<span style="color: #339933;">/</span>libs<span style="color: #339933;">/</span>model<span style="color: #339933;">/</span>model<span style="color: #339933;">.</span>php<span style="color: #339933;">,</span> line <span style="color: #cc66cc;">959</span><span style="color: #009900;">&#93;</span>
Code <span style="color: #339933;">|</span> Context
&nbsp;
<span style="color: #000088;">$column</span>	<span style="color: #339933;">=</span>	<span style="color: #0000ff;">&quot;how_know&quot;</span>
<span style="color: #000088;">$cols</span>	<span style="color: #339933;">=</span>	<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #000088;">$cols</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">schema</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cols</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">trigger_error</span><span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'(Model::getColumnType) Unable to locate model field data. If you are using a model without a database table, try implementing schema()'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">E_USER_WARNING</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
Model<span style="color: #339933;">::</span><span style="color: #004000;">getColumnType</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> CORE<span style="color: #339933;">/</span>cake<span style="color: #339933;">/</span>libs<span style="color: #339933;">/</span>model<span style="color: #339933;">/</span>model<span style="color: #339933;">.</span>php<span style="color: #339933;">,</span> line <span style="color: #cc66cc;">959</span>
Model<span style="color: #339933;">::</span><span style="color: #004000;">deconstruct</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> CORE<span style="color: #339933;">/</span>cake<span style="color: #339933;">/</span>libs<span style="color: #339933;">/</span>model<span style="color: #339933;">/</span>model<span style="color: #339933;">.</span>php<span style="color: #339933;">,</span> line <span style="color: #cc66cc;">857</span>
Model<span style="color: #339933;">::</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> CORE<span style="color: #339933;">/</span>cake<span style="color: #339933;">/</span>libs<span style="color: #339933;">/</span>model<span style="color: #339933;">/</span>model<span style="color: #339933;">.</span>php<span style="color: #339933;">,</span> line <span style="color: #cc66cc;">839</span>
Model<span style="color: #339933;">::</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> CORE<span style="color: #339933;">/</span>cake<span style="color: #339933;">/</span>libs<span style="color: #339933;">/</span>model<span style="color: #339933;">/</span>model<span style="color: #339933;">.</span>php<span style="color: #339933;">,</span> line <span style="color: #cc66cc;">1014</span>
PartnersController<span style="color: #339933;">::</span><span style="color: #004000;">regist</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> APP<span style="color: #339933;">/</span>controllers<span style="color: #339933;">/</span>partners_controller<span style="color: #339933;">.</span>php<span style="color: #339933;">,</span> line <span style="color: #cc66cc;">20</span>
Dispatcher<span style="color: #339933;">::</span>_invoke<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> CORE<span style="color: #339933;">/</span>cake<span style="color: #339933;">/</span>dispatcher<span style="color: #339933;">.</span>php<span style="color: #339933;">,</span> line <span style="color: #cc66cc;">265</span>
Dispatcher<span style="color: #339933;">::</span><span style="color: #004000;">dispatch</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> CORE<span style="color: #339933;">/</span>cake<span style="color: #339933;">/</span>dispatcher<span style="color: #339933;">.</span>php<span style="color: #339933;">,</span> line <span style="color: #cc66cc;">237</span>
<span style="color: #009900;">&#91;</span>main<span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> APP<span style="color: #339933;">/</span>webroot<span style="color: #339933;">/</span>index<span style="color: #339933;">.</span>php<span style="color: #339933;">,</span> line <span style="color: #cc66cc;">84</span></pre></div></div>
				
				<p>というエラーを吐いてきたんですよ。<br />
				エラー見ると、</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;Model&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;how_know&quot;</span><span style="color: #009900;">&#93;</span></pre></div></div>

<p>という要素に格納されている値に問題あるみたいですね。<br />
ちなみに、セレクトボックスと選択したした値（配列）が格納されています。</p>
<p>で、色々と調べてみると、Tableを使ってはいなくても、TableのSchema情報を定義しておけ、と。<br />
つーことでModelを再設定します。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$useTable</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$_schema</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;how_know&quot;</span><span style="color: #339933;">=&gt;</span>array<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;type&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">&quot;string&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>
				
				<p>これでエラーを吐かなくなりました。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/74/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/74" />
	</item>
		<item>
		<title>[cakephp1.2]validate使用時の注意。[validate]</title>
		<link>http://ore.saizensen.net/archives/70</link>
		<comments>http://ore.saizensen.net/archives/70#comments</comments>
		<pubDate>Mon, 21 Apr 2008 09:42:10 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/archives/70</guid>
		<description><![CDATA[cakephp1.1の時のように、 $this-&#62;yourmodel-&#62;validates&#40;$this-&#62;data&#41;; とすると、cakephp1.2では (Model::validat [...]]]></description>
			<content:encoded><![CDATA[				<p>cakephp1.1の時のように、</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">yourmodel</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validates</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>とすると、cakephp1.2では</p>
<pre>
(Model::validates) Parameter usage is deprecated, set the $data property instead
Warning (512): [CORE/cake/libs/model/model.php, line 1647]
</pre>
				<p>とWarningを吐きます。1.2では下記のようにしましょう。</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">YourModel</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">YourModel</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validates</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// validation ok</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// validation not ok</span>
<span style="color: #009900;">&#125;</span></pre></div></div>
				
				<p>また、新規登録時のvalidateルールを下記の様に設定するとする。</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$validate</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
				<span style="color: #0000ff;">&quot;name&quot;</span><span style="color: #339933;">=&gt;</span>array<span style="color: #009900;">&#40;</span>
					<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;rule&quot;</span><span style="color: #339933;">=&gt;</span>VALID_NOT_EMPTY<span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
				<span style="color: #0000ff;">&quot;kana&quot;</span><span style="color: #339933;">=&gt;</span>array<span style="color: #009900;">&#40;</span>
					<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;rule&quot;</span><span style="color: #339933;">=&gt;</span>VALID_NOT_EMPTY<span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#41;</span></pre></div></div>
				
				<p>でも、データ更新時にはvaidateルールから<br />
				「kana」のvalidateルールを除きたい場合は、</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">YourModel</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validate</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'kana'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>と書くよ。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/70/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/70" />
	</item>
		<item>
		<title>[cakephp]FormHelperから自動出力されるdiv要素を消す方法。</title>
		<link>http://ore.saizensen.net/archives/68</link>
		<comments>http://ore.saizensen.net/archives/68#comments</comments>
		<pubDate>Tue, 15 Apr 2008 09:28:51 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/archives/68</guid>
		<description><![CDATA[div要素を外したい場合には $form-&#62;submit&#40;'登録', array&#40;'div'=&#62;false&#41;&#41;; $form-&#62;input&#40;&#34;User/ [...]]]></description>
			<content:encoded><![CDATA[				<p>div要素を外したい場合には</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">submit</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'登録'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'div'</span><span style="color: #339933;">=&gt;</span>false<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;User/name&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;type&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">&quot;text&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;label&quot;</span><span style="color: #339933;">=&gt;</span>false<span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;div&quot;</span><span style="color: #339933;">=&gt;</span>false<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>
				
				<p>こんな感じ。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/68/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/68" />
	</item>
		<item>
		<title>CakePHPでCronを使う。</title>
		<link>http://ore.saizensen.net/archives/51</link>
		<comments>http://ore.saizensen.net/archives/51#comments</comments>
		<pubDate>Tue, 19 Feb 2008 07:37:40 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[cron]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/archives/51</guid>
		<description><![CDATA[&#60;?php $_GET&#91;'url'&#93; = &#34;crons/vacuum/&#34;; require_once&#40; dirname&#40; dirname&#40;__FILE__ [...]]]></description>
			<content:encoded><![CDATA[				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
    <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;crons/vacuum/&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/index.php&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>
				
				<p>Cronで動かすスクリプトに上記の様にコードを書く。<br />
				すると、</p>
				<p>http://hogehoge.com/crons/vacuum</p>
				<p>と同じ動作をする。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/51/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/51" />
	</item>
		<item>
		<title>CakePHPでファイルのダウンロードのやり方。</title>
		<link>http://ore.saizensen.net/archives/34</link>
		<comments>http://ore.saizensen.net/archives/34#comments</comments>
		<pubDate>Mon, 04 Feb 2008 08:32:24 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[ダウンロード]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/archives/34</guid>
		<description><![CDATA[例えば、 $output_file = sprintf&#40;DB_NAME.&#34;_%s.db&#34;, date&#40;&#34;Ymd-hi&#34;&#41;&#41;; system&#40; [...]]]></description>
			<content:encoded><![CDATA[				<p>例えば、</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$output_file</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sprintf</span><span style="color: #009900;">&#40;</span>DB_NAME<span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;_<span style="color: #009933; font-weight: bold;">%s</span>.db&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Ymd-hi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">system</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/usr/bin/pg_dump -u &quot;</span><span style="color: #339933;">.</span>DB_NAME<span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &lt; &quot;</span><span style="color: #339933;">.</span>AUTH_USER_FILE_PATH<span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &gt; &quot;</span><span style="color: #339933;">.</span>DB_EXPORT_PATH<span style="color: #339933;">.</span><span style="color: #000088;">$output_file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">autoRender</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
Configure<span style="color: #339933;">::</span><span style="color: #004000;">write</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'debug'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-disposition: attachment; filename=&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$output_file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-type: application/octet-stream; name=&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$output_file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span>DB_EXPORT_PATH<span style="color: #339933;">.</span><span style="color: #000088;">$output_file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">return</span><span style="color: #339933;">;</span></pre></div></div>
				
				<p>みたいな。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/34/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/34" />
	</item>
		<item>
		<title>CakePHP の findAll の条件に IN 演算子を使うには</title>
		<link>http://ore.saizensen.net/archives/14</link>
		<comments>http://ore.saizensen.net/archives/14#comments</comments>
		<pubDate>Mon, 28 Jan 2008 05:06:13 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[findAll]]></category>
		<category><![CDATA[IN演算子]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/archives/14</guid>
		<description><![CDATA[CakePHP の findAll の条件に IN 演算子を使うには $this-&#62;model-&#62;findAll&#40;array&#40;'field IN (1,2,3)'&#41;&#41;; または [...]]]></description>
			<content:encoded><![CDATA[				<p>CakePHP の findAll の条件に IN 演算子を使うには</p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">model</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">findAll</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'field IN (1,2,3)'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>または、</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$params</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">model</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">findAll</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'field'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/14/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://ore.saizensen.net/archives/14" />
	</item>
	</channel>
</rss>

