【发布时间】:2015-05-28 00:57:28
【问题描述】:
我有一个我想在其中使用自定义规则的 CustomFormRequest。这是 FormRequest 中的 rules() 方法。
public function rules()
{
return [
'name' => 'customrule'
];
}
Validor 类
class CustomValidator extends Illuminate\Validation\Validator{
protected function customrule( $attribute, $value ) {
return false;
}
我有一个带有以下 boot() 方法的 CustomServiceProvider
public function boot()
{
\Validator::resolver(function($translator, $data, $rules, $messages)
{
return new CustomValidator($translator, $data, $rules, $messages);
});
}
CustomServiceProvider 列在 app.php 文件中。
控制器帽子正在使用表单请求
public function store(CustomFormRequest $request)
{
$input = $request->all();
dd("request succeeded");
我的 FormRequest 无法识别此规则(或至少未执行),因为请求始终成功。我该如何解决这个问题?
【问题讨论】:
-
您可以自己绑定来注册所有新的自定义规则。我已经在这里描述了所有步骤:stackoverflow.com/questions/28417977/…
-
我更改了代码以实现您的解决方案,但它似乎不起作用:/
-
如果它不起作用,您需要向我们显示错误
-
我在函数中返回了一个硬编码的 false,但使用 FormRequest 的控制器中的代码仍在执行。这意味着该函数没有被调用对吗?
-
向我们展示您调用验证类的控制器部分
标签: validation request laravel-5