Validatorの拡張について
Acms\Custom\Validatorクラス(extension/acms/Validator.php)を拡張する事でフォームのバリデーターに独自のバリデーターを使用する事が可能になります。標準のバリデーターにないものを利用したい場合にご利用ください。
テンプレート上の指定との対応
<input type="text" name="hoge" value="{var}"> <input type="hidden" name="field[]" value="hoge"> <input type="hidden" name="hoge#sample" value="cms"> <!-- BEGIN hoge:validator#sample --> <p class="acms-admin-text-error">cmsという文字列が含まれていません。</p> <!-- END hoge:validator#sample -->
テンプレート上にフォームオプション名と、Acms\Custom\Validator 内で拡張するメソッド名を同一にします。 メソッドの引数にはそのフィールドの入力値($val)と、フォームオプションの値($arg)が入ってきます。
<?php namespace Acms\Custom; /** * extension/acms/Validator.php * * バリデーターにユーザー定義のメソッドを追加します * ユーザー定義のメソッドが優先されます。 */ class Validator { /** * sample * バリデーターのサンプルメソッド * * @param string $val - その変数の値 * @param string $arg - <input type="hidden" name="var:v#sample" value="ここの値"> * @return boolean - 入力が正しい場合は "ture" そうでない場合は "false" を返す */ function sample($val, $arg) { // name="var:v#sample" value="cms" で指定した // 文字列が含まれていなかったらエラーを出す return (strpos($val, $arg) !== false); } }
入力が正しければ true、正しくなければ false を return してください。