halaei/jalali

此包已被放弃且不再维护。作者建议使用 opilo/farsi 包。

基于 opilo/farsi 的 Laravel Jalali 日期验证器

0.0.2 2015-12-25 08:49 UTC

This package is auto-updated.

Last update: 2022-02-01 12:53:29 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

安装

步骤 1: 通过 Composer 安装

composer require halaei/jalali

步骤 2: 添加服务提供者

将提供者类添加到 config/app.php 文件中 providers 数组中

	'providers' => [
	    ...
        Halaei\Jalali\Laravel\JalaliServiceProvider::class,
	]

步骤 3: 定义错误信息

您需要在 lang 文件夹中的 validation.php 文件中定义 jalalijalali_afterjalali_before 规则的错误信息。此包的 sample-lang 目录下提供了可复制粘贴的示例。例如,如果您的项目使用 Laravel 5 且波斯语翻译位于 resources/lang/fa 目录下,请将这些行复制到 resources/lang/fa/validation.php

    'jalali'        => ':attribute وارد شده تاریخ شمسی معتبری طبق فرمت :format نیست (مثال معتبر: :fa-sample).',
    'jalali_after'  => ':attribute وارد شده باید یک تاریخ شمسی معتبر بعد از :date باشد.',
    'jalali_before' => ':attribute وارد شده باید یک تاریخ شمسی معتبر قبل از :date باشد.',
    ...
    //the rest of Farsi translations for validation rules.

    'attributes' => [
        'birth_date' => 'تاریخ تولد',
        ...
        //the rest of Farsi translations for attributes
    ],
    ...

验证规则

jalali:Y/m/d

确定输入是否是符合指定格式的有效 Jalali 日期。默认格式是 Y/m/d。

jalali_after:1380/1/1,Y/m/d

确定输入是否是符合指定格式且晚于给定日期的有效 Jalali 日期。默认格式是 Y/m/d,默认日期是今天。

jalali_before:1395-01-01,Y-m-d

确定输入是否是符合指定格式且早于给定日期的有效 Jalali 日期。默认格式是 Y/m/d,默认日期是今天。

示例

感谢 Laravel 5,您可以在您的特定领域请求对象的 rule() 函数中使用提到的验证规则。如果这不是一个选择,您可以使用规则,就像使用其他任何 Laravel 规则一样,代码如下

    $v = Validator::make([
            'birth_date' => '1380/01/32'
        ],
        [
            'birth_date' => 'required|jalali|jalali_before:1381/01/01|jalali_after:1300/01/01,Y/m/d'
        ]);

    if ($v->fails()) {
        var_dump($v->messages()->toArray());
    }

上述代码的输出将是

array(1) {
  ["birth_date"]=>
  array(3) {
    [0]=>
    string(140) "تاریخ تولد وارد شده تاریخ شمسی معتبری طبق فرمت Y/m/d نیست (مثال معتبر: ۱۳۹۴/۹/۱۳)."
    [1]=>
    string(113) "تاریخ تولد وارد شده باید یک تاریخ شمسی معتبر قبل از 1381/01/01 باشد."
    [2]=>
    string(113) "تاریخ تولد وارد شده باید یک تاریخ شمسی معتبر بعد از 1300/01/01 باشد."
  }
}