Tôi có một hình thức trong đó bao gồm một thời hạn và người sử dụng nên thiết lập thời hạn trong bốn lĩnh vực đầu vào như thế này:Laravel 5: Làm thế nào để xác thực đầu vào datetime từ 4 trường nhập?
<div class="form-group col-lg-3">
{!! Form::label('year', 'Year', ['class' => 'control-label']) !!}
{!! Form::selectYear('year',$year, $year +1, null , ['class' => 'form-control']) !!}
</div>
<div class="form-group col-lg-3">
{!! Form::label('month', 'Month', ['class' => 'control-label']) !!}
{!! Form::selectRange('month', 1, 12 , null , ['class' => 'form-control']) !!}
</div>
<div class=" form-group col-lg-3">
{!! Form::label('day', 'Day', ['class' => 'control-label']) !!}
{!! Form::selectRange('day', 1, 31 , null , ['class' => 'form-control']) !!}
</div>
<div class=" form-group col-lg-3">
{!! Form::label('hour', 'Hour', ['class' => 'control-label']) !!}
{!! Form::selectRange('hour', 6, 23 , null , ['class' => 'form-control']) !!}
</div>
Trong một formRequest, tôi biên soạn bốn lĩnh vực vào thời hạn a. Vì vậy, formRequest của tôi là như thế này:
public function rules()
{
$this->prepInput();
return [
];
}
public function prepInput(){
$input=$this->all();
...
$input['deadline']=$this->prepDeadline($input['hour'], $input['month'], $input['day'], $input['year']);
...
$this->replace($input);
}
public function prepDeadline($hour,$month,$day, $year){
$time = jDateTime::mktime($hour, 0, 0, $month, $day, $year);
return $deadline = strftime("%Y-%m-%d %H:%M:%S", $time);
}
Hạn chót là một datetime Jalali và tôi cần phải kiểm tra nếu người dùng đã chọn một ngày hợp lệ hay không (ví dụ 1394/12/31 không phải là một ngày hợp lệ). Gói jDatetime
có phương thức checkdate
hoạt động chính xác như php checkdate
. Tôi có thể xác thực ngày trong biểu mẫu này ở đâu và làm cách nào để thông báo cho người dùng về một ngày hợp lệ? Trong thực tế, tôi cần xác thực này trước khi thời hạn được chuyển đến prepInput
.
Chỉ liên kết câu trả lời không được coi là thực hành tốt, bạn nên đưa ra một ví dụ trong câu trả lời. – Petah