You need to enable JavaScript to run this app. Laravel 8验证时报错validateRequired|min方法不存在该如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8验证时报错validateRequired|min方法不存在该如何解决?

错误原因

Laravel 验证规则支持两种书写格式:

  • 字符串格式:多个规则用 | 分隔,例如 'required|min:8'
  • 数组格式:每个规则作为数组的独立元素,通常用来搭配自定义规则类实例使用

你这里混用了两种格式:把|分隔的多个规则作为单个元素放在规则数组里,Laravel 会把整个required|min:8字符串当成单个验证方法名解析,自然找不到对应的validateRequired|min方法,就抛出了这个异常。

修复方法

把规则数组中用|分隔的规则拆分为独立的数组元素即可,修改后的验证代码如下:

public function change_password(Request $request)
{
    $input = $request->all();
    $userid = Auth::guard('api')->user()->id;

    $validator = $request->validate([
        'old_password' => 'required',
        // 拆分|分隔的规则为独立数组元素
        'new_password' => ['required', 'min:8', new PasswordRule()],
        'confirm_password'  =>  ['required', 'same:new_password', new PasswordRule()]
    ]);
// 后续逻辑

如果你的规则里没有自定义规则类,也可以直接用字符串格式,不需要写数组,例如'new_password' => 'required|min:8'。


内容的提问来源于stack exchange,提问作者S.M_Emamian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 05:45:03