0

我创建了一个接受一个输入参数的自定义验证规则。

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

规则

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

我创建了一个名为validators.php的新文件,并将其包含global.php文件中,以便成为全局文件。

我想传递两个输入参数,以便进行更多检查相互比较。我怎样才能成功?

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 回答