在验证方法中我有以下内容:
$this->validate($request, ['test_date' => 'required|unique:test_db']);
test_date
在test_db
存储为unix时间。
提交表格后,我得到 $request->get('test_date')
在mm/dd/Y
唯一验证不起作用,因为我在 mm/dd/Y
中获取日期这与 db (unix 时间)不同。
如何使其在本次验证中独一无二?
最佳答案
你可以试试这个:
//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']);
向请求添加字段:Laravel is there a way to add values to a request array
更新: 您可以使用 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']);
更新请求字段: Modify request field value before saving in Laravel 5
关于php - 如何在 Laravel 中验证日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47693698/