<?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/"
	>

<channel>
	<title>売り切れじまいメデタ屋のブログ &#187; CakePHP</title>
	<atom:link href="http://medeta.org/wp/archives/category/cakephp/feed" rel="self" type="application/rss+xml" />
	<link>http://medeta.org/wp</link>
	<description>WordPress ME 2.2 - Capriccioso</description>
	<lastBuildDate>Wed, 09 May 2012 07:34:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CakePHP1.2でvalidation</title>
		<link>http://medeta.org/wp/archives/131</link>
		<comments>http://medeta.org/wp/archives/131#comments</comments>
		<pubDate>Wed, 01 Oct 2008 09:05:58 +0000</pubDate>
		<dc:creator>benton</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[CakePHP1.2]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://medeta.org/wp/?p=131</guid>
		<description><![CDATA[CakePHP1.2でフォーム入力値のvalidation。
モデルの$validateに検証ルールを設定しておいて、エラーの場合そのエラーに対応する文字列をビューで出そうと思ったんですが、かなり苦戦しました。本やサイトに書いてあることをやってもどうもうまくいかない。
試行錯誤の末、こんな感じでうまくいくことがわかりました。
modelの$validateで検証ルール（複数）を設定。
var $validate = array(
&#8216;login_id&#8217; =&#62; array(
&#8216;rule1&#8242; =&#62; array(
&#8216;rule&#8217; =&#62; &#8216;alphaNumeric&#8217;, // 英数字のみ
&#8216;on&#8217; =&#62; null, // 検証ルールを常時実行
&#8216;message&#8217; =&#62; &#8216;ログインIDは英数字のみで入力してください。&#8217; // エラーメッセージ
),
&#8216;rule2&#8242; =&#62; array(
&#8216;rule&#8217; =&#62; array(&#8217;minLength&#8217;, 4),
&#8216;on&#8217; =&#62; null,
&#8216;message&#8217; =&#62; &#8216;ログインIDは4文字以上で入力してください。&#8217;
),
&#8216;rule3&#8242; =&#62; array(
&#8216;rule&#8217; =&#62; array(&#8217;maxLength&#8217;, 16),
&#8216;on&#8217; =&#62; null,
&#8216;message&#8217; =&#62; &#8216;ログインIDは16文字以下で入力してください。&#8217;
),
&#8216;rule4&#8242; =&#62; array(
&#8216;rule&#8217; =&#62; VALID_NOT_EMPTY,
&#8216;on&#8217; =&#62; null,
&#8216;message&#8217; =&#62; &#8216;ログインIDを入力してください。&#8217;
)
)
);
controllerでvalidateErrorsを使う。
// Userモデルのvalidationチェック
$this-&#62;User-&#62;set($this-&#62;data);
$errors = $this-&#62;validateErrors($this-&#62;User);
// エラーがあればログイン画面へ
if (!empty($errors)) {
$this-&#62;render(&#8221;login&#8221;);
return;
}
viewで$form-&#62;errorを使う。
echo $form-&#62;text(&#8221;User.login_id&#8221;);
echo $form-&#62;error(&#8221;User.login_id&#8221;);
]]></description>
		<wfw:commentRss>http://medeta.org/wp/archives/131/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

