1

我有一个使用 Laravel-5.8 的 Web 应用程序。在该项目中,我有四 (4) 个不同的日期。

评估开始,评估结束,提交开始,提交结束。

我已经验证了评估开始和评估结束,然后是提交开始和提交结束,如下面的代码规则所示:

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>
            &nbsp;&nbsp;&nbsp;<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>

现在的问题是我如何验证submission_start 和submission_end 必须在appearance_start 和appearance_end 的范围内。

谢谢

4

1 回答 1

1

你可以在规则中做这样的事情

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',
  ];
}

让我知道这个答案是否对您有帮助

于 2019-12-29T07:37:23.877 回答