php - 我正在尝试使用 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()]]);
}
}
解决方案
推荐阅读
- javascript - Webpack 开发服务器热模块替换处理 .js 文件但不处理 .html 文件更新
- python - 更改python列表中的变量(回溯)
- javascript - Nuxt Infinite 图标的无限水平滚动没有平滑过渡
- php - Laravel/PHP: Conditional Date Filter
- javascript - 将两个值与来自收音机和复选框的 JS 相加以获得总计
- python - Python - 仅显示 4 位排序的圆锥序列
- javascript - 无法导入节点模块
- javascript - VueJs 3 - Vuex:未捕获的类型错误:存储不是函数
- logging - 记录不输出调试和信息日志
- python - 尝试在 R 上安装 Earth Engine;python=3.1 不可用