【问题标题】:Date validation in laravel 5.1laravel 5.1 中的日期验证
【发布时间】:2018-10-29 10:14:46
【问题描述】:

我已经为验证输入创建了名为 EventRequest 的自定义请求。我有两个日期属性,第一个是“开始”,第二个是“结束”。 'End' 必须大于或 等于 才能开始。 注意:laravel 5.1 没有 after_or_equal 函数

这是我的代码

public function rules()
{
    return [
      'name'          =>'required|min:3|max:255',
      'place'         => 'required|min:3|max:255',
      'start_date'    => 'required|date|after:yesterday',
      'end_date'      => 'required|date|after:yesterday',
      'start_time'    => 'required|date_format:H:i',
      'end_time'      => 'required|date_format:H:i'
    ];
}

如果我设置了一条规则,例如 start_date 必须是 before:end_date 但如果它们在同一天,则会引发错误。有什么解决方案吗? 提前致谢!

【问题讨论】:

  • Laravel 5.3 date validator: equal to or after start_date 的可能重复项。简短的回答是 after_or_equal 是你想要的规则
  • @Ohgodwhy:它在 5.1 中可用吗?我认为不是
  • 您需要使用手动Validator 来进行这样的验证。
  • after_or_equal 在 laravel5.1 中不可用
  • 你解决了吗?

标签: php laravel validation date


【解决方案1】:

开始日期在:昨天之后...所以 end_date 可以在 start_date 之后...

 public function rules()
{
    return [
      'name'          =>'required|min:3|max:255',
      'place'         => 'required|min:3|max:255',
      'start_date'    => 'required|date|after:yesterday',
      'end_date'      => 'required|date|after:start_date',
      'start_time'    => 'required|date_format:H:i',
      'end_time'      => 'required|date_format:H:i'
    ];
}

【讨论】:

  • after:yesterday 表示今天,after:start_date 表示tomorrow,不检查同一日期
【解决方案2】:

手动使用Validator的解决方案

public function validateForm(Request $request){
    $end_date = date('Y-m-d', strtotime($request->end_date. ' -1 day' ));
    $messages = [
        "end_date.after" => "End date must be equal or greater than start date.",
    ];
    $rules = [
            'start_date'    => 'required|date|after:yesterday',
            'end_date'      => 'required|date|after:'.$end_date,
    ];
    return Validator::make($requestAll, $rules);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-15
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    相关资源
    最近更新 更多