wojciechmruk/iso8610datevalidator

1.0 2018-08-30 08:51 UTC

This package is not auto-updated.

Last update: 2024-09-21 02:00:00 UTC


README

通过Composer安装

您可以通过在终端中运行Composer来安装此包。

composer require "wojciechmruk/iso8610datevalidator"

注册新规则

更新 app\Providers\AppServiceProvider.php 并在boot方法中添加以下行。

Validator::extend('iso_date', 'WojciechMruk\LaravelValidator\Iso8610DateValidator@validate');
Validator::extend('date_not_before', 'WojciechMruk\LaravelValidator\DateRangeValidator@notFromThePast');
Validator::extend('date_before', 'WojciechMruk\LaravelValidator\DateRangeValidator@fromThePast');
Validator::extend('date_not_after', 'WojciechMruk\LaravelValidator\DateRangeValidator@notFromTheFuture');
Validator::extend('date_after', 'WojciechMruk\LaravelValidator\DateRangeValidator@fromTheFuture');

定义错误信息

您还需要为自定义规则定义一个错误信息。

编辑: resources\lang\en\validation.php

将此添加到数组中

    'date_iso'              => 'Provided date should be in ISO 8601 format.',
    'date_not_before'       => 'Provided date can not be the past date.',
    'date_before'           => 'Provided date must be the past date.',
    'date_not_after'        => 'Provided date can not be the future date.',
    'date_after'            => 'Provided date must be the future date.',

基本用法

  • 检查ISO
 $this->validate($request, [
        'date' => 'required|date_iso',
    ]);
  • 检查不在日期之前
 $this->validate($request, [
        'date' => 'required|date_not_before',
    ]);
  • 检查在日期之前
 $this->validate($request, [
        'date' => 'required|date_before',
    ]);
  • 检查不是未来日期
 $this->validate($request, [
        'date' => 'required|date_not_after',
    ]);
  • 检查是未来日期
 $this->validate($request, [
        'date' => 'required|date_after',
    ]);