【问题标题】:Where am I making a mistake in if else statement?我在 if else 语句中哪里出错了?
【发布时间】:2021-04-19 22:11:01
【问题描述】:

我无法返回 toast 错误消息。我在哪里犯错?成功时返回消息。

我的代码如下:

public function store(Request $request)
{
    $validated = $request->validate([
        'category_name' => 'required|unique:categories|max:50',
    ]);

    $data = array();
    $data['category_name'] = $request->category_name;

    $save = DB::table('categories')->insert($data);
    if ($save) {
        Toastr::success('Post Successfully Saved :)', 'Success');

        return redirect()->route('admin.category');
    } else {
        Toastr::error('Error :)', 'Error');

        return redirect()->route('admin.category');
    }
}

【问题讨论】:

    标签: laravel toastr


    【解决方案1】:

    尝试以下方法:

    public function store(Request $request)
    {
        $validated = $request->validate([
            'category_name' => 'required|unique:categories|max:50',
        ]);
    
        $data = array();
        $data['category_name'] = $request->category_name;
    
        $save = DB::table('categories')->insert($data);
        if (!$save) {
            Toastr::error('Error :)', 'Error');
            
            return redirect()->route('admin.category');
        } else {
            Toastr::success('Post Successfully Saved :)', 'Success');
            
            return redirect()->route('admin.category');
        }
    }
    

    【讨论】:

    • 兄弟,谢谢,但不起作用。唯一的工作成功方法。
    • ok 试试 if ($validator->fails()) { } 而不是 if(!$save)
    【解决方案2】:

    你可以试试这段代码。你可以使用 ->fails() 函数来检查输入

    public function store(Request $request)
        {
            $validated = $request->validate([
                'category_name' => 'required|unique:categories|max:50',
            ]);
             if($validated->fails()){
              Toastr::error('Error :)','Error');
              return redirect()->route('admin.category');
             }
            $data=$request->only(['category_name']);
            $save = DB::table('categories')->insert($data);
            Toastr::success('Post Successfully Saved :)','Success');
            return redirect()->route('admin.category');
    }
    

    【讨论】:

      【解决方案3】:

      我找到了解决方案。我自己创建了一个验证器

      public function store(Request $request)
          {
              $validated = Validator::make($request->all(), [ 
                  'category_name' => 'required|unique:categories|max:50',
      
              ]);
              $notificationerror=array(
                  'messege'=>'Category Added Error',
                  'alert-type'=>'error',
                  'positionClass' =>'toast-top-right'
              );
              if($validated->fails()){
                  return redirect()->route('admin.category')->with($notificationerror);
      
              }
      
              $data=array();
              $data['category_name']=$request->category_name;
              DB::table('categories')->insert($data);
              $notification=array(
                  'messege'=>'Category Added Successfully',
                  'alert-type'=>'success',
              );
              return redirect()->route('admin.category')->with($notification);
      
          }
      

      【讨论】: