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 してください。