如何验证 laravel 中的日期
How to validate date in laravel
在验证方法中,我有以下内容:
$this->validate($request, ['test_date' => 'required|unique:test_db']);
test_db
中的test_date
存储为unix时间。
提交表格后,我在 mm/dd/Y
中得到 $request->get('test_date')
唯一验证不起作用,因为我在 mm/dd/Y
中获取日期,这与数据库(unix 时间)不同。
如何让它在这个验证中唯一?
我想如果你改变日期格式那么一切都会好起来的,所以试试这个:
$date = $request->get('test_date');
$newDate = date('d-m-Y', strtotime($date ));
在验证中使用此 $newDate
。
你可以试试这个:
//get date from request
$date = $request->get('test_date');
//add the converted date to request
$request->request->add(['new_date_field'=> DateTime::createFromFormat('m/d/Y', $date)->getTimestamp()]);
//validate the updated date field
$this->validate($request, ['new_date_field' => 'required|unique:test_db']);
向请求添加字段:
更新:
您可以使用 offsetSet 方法更新现有字段:
//get date from request
$date = $request->get('test_date');
//update date in request
$request->offsetSet('test_date', DateTime::createFromFormat('m/d/Y', $date)->getTimestamp());
//validate the updated date field
$this->validate($request, ['test_date' => 'required|unique:test_db']);
正在更新请求字段:
Laravel 提供称为访问器和修改器的功能。
当您在模型实例上检索或设置属性值时,访问器和修改器允许您格式化 Eloquent 属性值。
欲了解更多信息,请访问:https://laravel.com/docs/5.5/eloquent-mutators#accessors-and-mutators
希望对您有所帮助。
在验证方法中,我有以下内容:
$this->validate($request, ['test_date' => 'required|unique:test_db']);
test_db
中的test_date
存储为unix时间。
提交表格后,我在 mm/dd/Y
$request->get('test_date')
唯一验证不起作用,因为我在 mm/dd/Y
中获取日期,这与数据库(unix 时间)不同。
如何让它在这个验证中唯一?
我想如果你改变日期格式那么一切都会好起来的,所以试试这个:
$date = $request->get('test_date');
$newDate = date('d-m-Y', strtotime($date ));
在验证中使用此 $newDate
。
你可以试试这个:
//get date from request
$date = $request->get('test_date');
//add the converted date to request
$request->request->add(['new_date_field'=> DateTime::createFromFormat('m/d/Y', $date)->getTimestamp()]);
//validate the updated date field
$this->validate($request, ['new_date_field' => 'required|unique:test_db']);
向请求添加字段:
更新: 您可以使用 offsetSet 方法更新现有字段:
//get date from request
$date = $request->get('test_date');
//update date in request
$request->offsetSet('test_date', DateTime::createFromFormat('m/d/Y', $date)->getTimestamp());
//validate the updated date field
$this->validate($request, ['test_date' => 'required|unique:test_db']);
正在更新请求字段:
Laravel 提供称为访问器和修改器的功能。
当您在模型实例上检索或设置属性值时,访问器和修改器允许您格式化 Eloquent 属性值。
欲了解更多信息,请访问:https://laravel.com/docs/5.5/eloquent-mutators#accessors-and-mutators
希望对您有所帮助。