【发布时间】:2021-11-15 08:39:31
【问题描述】:
我有一个包含 3 个字段的表单 - 开始日期、结束日期和模式。我想从输入中选择值并检查它们是否为空。如果不是,则比较日期并执行操作。当我尝试在 $status 中传递值 `$request->input('from')` 时,它返回 null。
我的表格:
<div class="modal-body">
<form action="App\Http\Controllers\HolidayController@addSchedule" method="POST" autocomplete="off" id="scheduleForm">
@include('partials.holidayFormModal')
</form>
</div>
holidayForm模态:
<link rel="stylesheet" href="{{ url('assets/custom/css/schedule/scheduleForm.css') }}">
<div class="form-group row col-md-12 date-picker">
<label class="col-sm-2 date-picker-label" for="from">
{{ __('messages.schedule_period') }}
</label>
<div class="input-group col-sm-4">
<input class="form-control" id="start_datepicker" type="text" name="from" autocomplete="off" readonly>
<span class="input-group-addon">
<i class="fas fa-calendar-alt"></i>
</span>
</div>
<div class="col-sm-2"></div>
<div class="input-group col-sm-4">
<input class="form-control" id="end_datepicker" type="text" name="to" autocomplete="off" readonly>
<span class="input-group-addon">
<i class="fas fa-calendar-alt"></i>
</span>
</div>
</div>
<div class="form-group row col-md-12 motif-picker">
<label class="col-sm-2 motif-label" for="meotif">
{{ __('messages.schedule_motif') }}
</label>
<input class="form-control col-sm-10" type="text" id="motif" name="motif" max="60">
</div>
<div class="col-md-11"></div>
<div class="col-md-1" id="schedule-submit">
<button class="btn" type="button" id="schedule_form_submit_button">
<i class="fas fa-check-circle fa-3x"></i>
</button>
</div>
web.php:
Route::get('/holidays', ['uses' => $controllerNamespace . 'HolidayController@index', 'as' => 'holidays']);
Route::post('/holidayAdd',['uses' => $controllerNamespace . 'HolidayController@addSchedule', 'as' => 'holidayAdd']);
假日控制器:
public function addSchedule(Request $request) {
$scheduleModelObj = new ScheduleModel;
$scheduleModelObj->from = $request->from;
$scheduleModelObj->to = $request->to;
$scheduleModelObj->motif = $request->motif;
$fromDate = str_replace('/', '-', $request->from);
$toDate = str_replace('/', '-', $request->to);
$f = date('Y-m-d', strtotime($fromDate));
$t = date('Y-m-d', strtotime($toDate));
if ($f == '' || $t == '' || $scheduleModelObj->motif == '') {
$returnMessage['date'] = __('messages.schedule_end_date_error');
$returnMessage['motif'] = __('messages.schedule_motif_error');
$status = 'error';
} else {
if ($f < $t) {
$scheduleModelObj->searchSchedule($scheduleModelObj->from, $scheduleModelObj->to);
$status = 'success';
}
$returnMessage['date'] = __('messages.schedule_end_date_error');
$returnMessage['motif'] = __('messages.schedule_motif_error');
$status = 'error';
}
return ['status' => $status, 'message' => $returnMessage];
}
【问题讨论】:
-
"当我尝试在 $status 中传递值
$request->input('from')时,它返回 null" - 我没有看到任何执行此操作的代码?您是否尝试过一些调试,例如您的addSchedule()方法中的dd($request)将向您准确显示收到的内容。检查您的浏览器开发工具,单击网络选项卡,然后单击 POST,这些字段是否按预期发送?