CartLogicのerrorMessageプロパティについて
今回はCartLogicのerrorMessageプロパティを見ていきたいと思います。
errorMessageプロパティはカート内のエラーメッセージの表示で利用します。

Cart02ページのお客様情報入力ページで、メールアドレスといった必ず入力しなければいけない項目に関して、
入力していなかった、@が入っていなかったといったエラーチェックを行った後のメッセージの表示でerrorMessageプロパティを利用します。
コードを確認すると、
/soyshop/webapp/src/cart/_common/pages/Cart02Page.class.phpの265行目付近の
$res = $this->component->checkError($user, $cart, UserComponent::MODE_CART_REGISTER);から
/soyshop/webapp/src/component/UserComponent.class.phpの243行目のcheckErrorの処理を見ると
/* メールアドレス */
if(tstrlen($user->getMailAddress()) < 1){
$app->addErrorMessage("mail_address", "メールアドレスを入力してください。");
$res = false;
}else if(!soyshop_valid_email($user->getMailAddress())){
$app->addErrorMessage("mail_address", "メールアドレスの書式が不正です。");
$res = false;
}
入力した内容を元に条件を満たさなかったら、addErrorMessageに何の項目(mail_address)でどのようなエラーなのかを登録しておきます。
エラーがあった場合は次のページに遷移せず同じページに戻り、
/soyshop/webapp/src/cart/_common/pages/Cart02Page.class.phpの183行目付近の
$this->component->buildForm($this, $user, $cart, $mode);から
/soyshop/webapp/src/component/UserComponent.class.phpの452行目のappendErrorsの処理を見ると
$page->createAdd("mail_address_error", "ErrorMessageLabel", array(
"text" => $app->getErrorMessage("mail_address")
));
getErrorMessageに項目の指定をして、エラーチェックの際に保存したメッセージを取り出します。
createAddの第二引数でErrorMessageLabelクラスが指定されていますが、HTML側での出力は
<p class="error" soy:id="mail_address_error">メールアドレスが正しく入力されていません。</p>
いつも通り、soy:idで出力します。
2014.05.14 | Comments(0) | Trackback(0)
トラックバック -