laravel方法Illuminate \ Validation \ Validator :: validateRequest不存在

时间:2018-04-24 12:17:30

标签: forms laravel validation

当我提交表单并运行表单验证时,它会给我这个错误,但我的表单验证正在其他页面上工作 在该文件中 \ vendor \ laravel \ framework \ src \ Illuminate \ Validation \ Validator.php

/**
 * Handle dynamic calls to class methods.
 *
 * @param  string  $method
 * @param  array   $parameters
 * @return mixed
 *
 * @throws \BadMethodCallException
 */
public function __call($method, $parameters)
{
    $rule = Str::snake(substr($method, 8));

    if (isset($this->extensions[$rule])) {
        return $this->callExtension($rule, $parameters);
    }

    throw new BadMethodCallException(sprintf(
        'Method %s::%s does not exist.', static::class, $method
    ));
}

错误= 方法Illuminate \ Validation \ Validator :: validateRequest不存在

4 个答案:

答案 0 :(得分:2)

也许您写了请求而不是必需?就像这里:

protected

尝试启动 validateRequest 方法时,建议您尝试使用不存在的“请求”验证规则。

您可以找到here的所有有效规则,但我认为您刚刚输入了错字。

答案 1 :(得分:0)

您应该使用Validator外观类

在您的控制器中

use Validator;

请参阅链接Laravel validation

答案 2 :(得分:0)

您可以按照以下方式验证表单:

public function formSubmit(Request $request){
    $request->validate([
        'name' => 'required',
        'address' => 'required',
        'phone' => 'required',
    ]);

    $customer =Customer::insert([
        'name' => $request->name,
        'address' => $request->address,
        'phone' => $request->phone
    ]);
    dd($customer);
    echo "Data send Successfully";
}

答案 3 :(得分:0)

你可以试试这个方法

$request->validate([
        'sex' => ['required',Rule::in('f','m')]
        ]);

这个对我有用