LoginSignup
0
2

More than 5 years have passed since last update.

管理画面で独自のバリデータを定義する

Last updated at Posted at 2015-05-09

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
CS-CartはPHPとMySQLで書かれたECサイト構築パッケージです。
http://cs-cart.jp/

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2