我有一个使用Laravel-5.8的Web应用程序。在项目中,我有四(4)个不同的日期。
评估开始,评估结束,提交开始,提交结束。
我已经验证了appraisal_start和appraisal_end,然后验证了Submit_start和Submitting_end,如下面的代码规则所示:
public function rules()
{
return [
'appraisal_start' => 'required',
'appraisal_end' => 'required|after_or_equal:appraisal_start',
'submission_start' => 'required',
'submission_end' => 'required|after_or_equal:submission_start',
];
}
public function create()
{
abort_unless(\Gate::allows('appraisal_identity_create'), 403);
return view('appraisal.appraisal_identities.create');
}
public function store(StoreAppraisalIdentityRequest $request)
{
abort_unless(\Gate::allows('appraisal_identity_create'), 403);
$appraisalStart = Carbon::parse($request->appraisal_start);
$appraisalEnd = Carbon::parse($request->appraisal_end);
$submissionStart = Carbon::parse($request->submission_start);
$submissionEnd = Carbon::parse($request->submission_end);
$identity = AppraisalIdentity::create([
'appraisal_start' => $appraisalStart,
'appraisal_end' => $appraisalEnd,
'submission_start' => $submissionStart,
'submission_end' => $submissionEnd,
]);
Session::flash('success', 'Appraisal Initialization is created successfully');
return redirect()->route('appraisal.appraisal_identities.index');
}
视图
<div class="card-body">
<form action="{{route('appraisal.appraisal_identities.store')}}" method="post" class="form-horizontal" enctype="multipart/form-data">
{{csrf_field()}}
<div class="form-body">
<div class="row">
<div class="col-md-6">
<div class="form-group row">
<label class="control-label text-right col-md-3">Appraisal Start Date<span style="color:red;">*</span></label>
<div class="col-md-9">
<input type="date" class="form-control" placeholder="dd/mm/yyyy" name="appraisal_start" value="{{old('appraisal_start')}}" min="{{Carbon\Carbon::now()->format('Y-m-d')}}">
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group row">
<label class="control-label text-right col-md-3">Appraisal End Date<span style="color:red;">*</span></label>
<div class="col-md-9">
<input type="date" class="form-control" placeholder="dd/mm/yyyy" name="appraisal_end" value="{{old('appraisal_end')}}" min="{{Carbon\Carbon::now()->format('Y-m-d')}}">
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group row">
<label class="control-label text-right col-md-3">Submission Start Date<span style="color:red;">*</span></label>
<div class="col-md-9">
<input type="date" class="form-control" placeholder="dd/mm/yyyy" name="submission_start" value="{{old('submission_start')}}" min="{{Carbon\Carbon::now()->format('Y-m-d')}}">
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group row">
<label class="control-label text-right col-md-3">Submission End Date<span style="color:red;">*</span></label>
<div class="col-md-9">
<input type="date" class="form-control" placeholder="dd/mm/yyyy" name="submission_end" value="{{old('submission_end')}}" min="{{Carbon\Carbon::now()->format('Y-m-d')}}">
</div>
</div>
</div>
</div>
</div>
<div>
<button type="submit" class="btn btn-primary">{{ trans('global.save') }}</button>
<button type="button" onclick="window.location.href='{{route('appraisal.appraisal_identities.index')}}'" class="btn btn-default">Cancel</button>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
$(function () {
$('#appraisal_start').datetimepicker({
format: "YYYY-MM-DD"
});
$('#appraisal_end').datetimepicker({
format: "YYYY-MM-DD"
});
$('#submission_start').datetimepicker({
format: "YYYY-MM-DD"
});
$('#submission_end').datetimepicker({
format: "YYYY-MM-DD"
});
});
});
</script>
现在的问题是,我如何验证submitting_start和submitting_end必须在appraisal_start和appraisal_end的范围内。
谢谢
您可以在规则中执行类似的操作
public function rules()
{
return [
'appraisal_start' => 'required',
'appraisal_end' => 'required|after_or_equal:appraisal_start',
'submission_start' => 'required | after_or_equal:appraisal_start |
before_or_equal:appraisal_end',
'submission_end' => 'required|after_or_equal:submission_start |
before_or_equal: appraisal_end',
];
}
让我知道这个答案是否对您有帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句