CS-Cartの管理パネルで独自のバリデータを定義する方法
CS-Cartにはあらかじめ基本的なフォームバリデータが用意されています。
マイクロフォーマットを参照
しかしながら、独自のバリデーションを作成したいという場面は数多くあります。
そこで、オリジナルのバリデーションの実装方法を解説いたします。
例)入力された値が5文字以内であるかチェックする。
<script type="text/javascript">
//独自バリデータを実装する
//最大文字数5かどうかチェックする
Tygh.$.ceFormValidator('registerValidator', {
class_name: 'cm-check-max5',
message: '{__("check_over_max5")|escape:javascript}',
func: function(id) {
if($('#' + id).val().length > 6){
return false;
}else{
return true;
}
}
});
</script>
名称:**cm-**check-max5 (cm-に続けてバリデーション名を付けます)
この名称はテンプレートで使用するクラス名となります。
作成する関数はtrue / falseを返すように設定します。
テンプレートでの使用方法は以下のようなものになります。
<!-- 5文字以内かどうか -->
<div class="control-group cm-no-hide-input">
<label for="product_max5" class="control-label cm-required cm-check-max5">{__("product_max5_title")}</label>
<div class="controls">
<input id="product_max5" class="input-long" type="text" name="product_data[product_max5h]" size="55" value="{$product_data.product_max5h}" />
</div>
</div>
この例では、入力必須(cm-required
)と独自に作成した5文字内(cm-check-max5
)というバリデーションが有効になります。エラーメッセージは、Javascript内で言語変数を指定して言語ファイルを準備します。
CS-CartはPHPとMySQLで書かれたECサイト構築パッケージです。
http://cs-cart.jp/