我已经创建了一个接受一个输入参数的自定义验证规则。
Validator::extend('dns', function($attribute, $host, $parameters)
{
return ($host !== gethostbyname($host));
});
规则
public static $rules = array(
'nameserver' => 'dns'
);
我在 global.php 文件中创建了一个名为 validators.php 和 include 的新文件,以便成为全局文件。< / p>
我想传递两个输入参数,以便进行一些相互比较的检查。 我怎么能成功呢?
答案 0 :(得分: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);