laravel 中日期格式無效的 d/m/y 格式問題

沃爾卡·迪米特列夫

在我的 Laravel 應用程序中,我有一個輸入字段來插入出生日期,

我的日期格式必須是d/m/y,我的年齡限制必須是 18-70

在我的控制器store方法中,我有以下 dob 驗證規則。

'date_of_birth'=>['required','bail','date','date_format:d/m/y',function ($attribute, $value, $fail) {

                    $age=Carbon::createFromFormat('d/m/y', $value)->diff(Carbon::now())->y;
                    if($age<18||$age>70){
                        $fail('Âge invalide. l\'âge devrait être 18-70');
                    }

                },]

但是每次當我嘗試使用正確的日期提交表單時,就像23/12/1995它一直說日期格式無效一樣

OMR

你的代碼有兩個問題:

1-您應該從驗證中刪除“日期”,因為您傳遞的是字符串而不是日期。

2- 您應該更正格式以使其正確:'d/m/Y' Y 是大寫字母。

 $rules = ['date_of_birth' => ['required', 'bail', 'date_format:d/m/Y',

            function ($attribute, $value, $fail) {
            $age = Carbon::createFromFormat('d/m/Y', $value)->diff(Carbon::now())->y;
            if ($age < 18 || $age > 70) {
                $fail('Âge invalide. l\'âge devrait être 18-70');
            }

        },
            ]];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章