0

1 つの入力引数を受け入れるカスタム検証ルールを作成しました。

Validator::extend('dns', function($attribute, $host, $parameters)
{
    return ($host !== gethostbyname($host));
});

ルール

public static $rules = array(
    'nameserver'    => 'dns'
);

グローバルにするために、 validators.phpという名前の新しいファイルを作成し、global.phpファイルに含めます。

いくつかのチェックを相互に比較するために、2 つの入力引数を渡したいと思います。どうすればこれを成功させることができますか?

4

1 に答える 1

1

次のような追加のパラメーターを送信します。

public static $rules = array(
    'nameserver'    => 'dns:foobar'
);

次の方法でそれらにアクセスします。

$parameters[0]

閉鎖中。

[編集] バリデータルールに入力をシードする方法:

// model
static $rules = array(
     'valOne' => 'required|custom:%s'
    ,'valTwo' => 'required'
);

// controller
$inputValues = Input::only(array(
     'valOne'
    ,'valTwo'
));

$rules = MyModel::$rules;

$rules['valOne'] = sprintf($rules['valOne'], Input::get('valTwo'));

$validator = Validator::make($inputValues, $rules);
于 2013-09-06T08:57:22.490 に答える