首页 > 解决方案 > 我正在尝试使用 laravel 刀片模板使单选按钮具有粘性

问题描述

我正在使用 laravel 8,我正在尝试使用刀片模板使单选按钮具有粘性,但在我的 javascript 说这是必需的之前,即使它已被选中

我在无线电输入上试过这个:

<label for="no" class="col form-check-label">No</label>
{{ Form::radio('visualCheck', old('visualCheck') == "no", array('id'=>'yes', 'class="col')) }}
                    

javascript:

let visualCheck = document.forms["form"]["visualCheck"].value;
let visualCheckError = document.getElementById("visualCheckError");
ifValidate(visualCheck, visualCheckError, event);

function errorStyler(errorSpan){
                errorSpan.className = "col-6";
                errorSpan.style.color = "#ff0000";
            }
function ifValidate(inputValue, inputError, event){
                if (inputValue.length==0){
                    event.preventDefault();
                    inputError.innerHTML = "This field is required.";
                    errorStyler(inputError);
                    
                }

如果我将 javascript 注释掉并使用后端验证相同的结果说该字段是必需的

控制器:

public function compute(Request $request){

        $rules = [
            'vessel' => 'required',
            'date' => 'required',
            'species' => 'required',
            'grade' => 'required',
            'temperature' => 'required',
            'visualCheck' => 'required',
            'skin' => 'required',
            'touch' => 'required',
            'damage' => 'required',
            'eyes' => 'required',
            'gills' => 'required',
            'gutting' => 'required',
            'washing' => 'required',
            'boxing' => 'required',
            'condition' => 'required',
            'checkedBy' => 'required',
        ];

        $validator = Validator::make($request->all(), $rules);
        if ($validator->fails()) {
            return redirect()->back()
                ->withInput()
                ->withErrors($validator);
        }

        $finalTotal = ($request->input("skin") + $request->input("touch") + $request->input("damage")) + ($request->input("eyes") + $request->input("gills") + $request->input("gutting")) + ($request->input("washing") + $request->input("boxing") + $request->input("condition"));
        $pointsAcheived = $finalTotal;
        $finalTotal = (string) $finalTotal;

        $percent = ($pointsAcheived / 27) * 100;
        $percent = number_format((float) $percent, 0, ".", "");
        $percent = (string) $percent . "%";
        
        $data = $request->all();
        try{
            $report = new insertQualityReport();
            $report->vessel = $data["vessel"];
            $report->species = $data["species"];
            $report->grade = $data["grade"];
            $report->product_temperature = $data["temperature"];
            $report->visual_check = $data["visualCheck"];
            $report->skin = $data["skin"];
            $report->touch = $data["touch"];
            $report->damage = $data["damage"];
            $report->eyes = $data["eyes"];
            $report->gills = $data["gills"];
            $report->gutting = $data["gutting"];
            $report->washing = $data["washing"];
            $report->boxing = $data["boxing"];
            $report->conditions_of_fish_box = $data["condition"];
            $report->comments = $data["comments"];
            $report->checked_by = $data["checkedBy"];
            $report->intake_quantity = $data["intakeQuantity"];
            $report->rejected_quantity = $data["rejectedProduct"];
            $report->processed_quantity = $data["processed"];
            $report->date_recorded = $data["date"];
            //$report->created_at = date("h:i:s");
            if (!empty($_POST["photo"])){
            $report->photo = $data["photo"];
            }
            if (!$report->save()) {
                return redirect()->back()
                    ->withInput()
                    ->withErrors(["errors" => ["Problem saving report"]]);
            }
            $report->save();
            return view('addqualityreport', compact('finalTotal', 'percent'))->with('status', "Inserted Successfully!")->with('data', $data);
        }
        catch (Exception $e) {
            return redirect()->back()
                    ->withInput()
                    ->withErrors(["errors" => [$e->getMessage()]]);
        }
        
    }

标签: phplaravel

解决方案


推荐阅读