php - Laravel 5.6 出生日期验证
问题描述
我在不需要出生日期的会员模型中创建了验证规则。但是,当有人填写他们的出生日期时,我希望它是 1. 以正确的格式和 2. 日期不能是将来的日期。
但是,当我填写表格并将出生日期留空时,我仍然收到以下错误:
这是我的基本 Member.php 模型:
use Esensi\Model\Model;
class Member extends Model
{
protected $rules = [
'name' => 'required|alpha|min:2|max:255',
'surname' => 'required|alpha|min:2|max:255',
'id_number' => 'required|unique:members,id_number|digits:13',
'mobile_number' => 'required|digits:10',
'email' => 'required|email',
'date_of_birth' => 'date_format:Y-M-D|before:today',
];
}
这是我的 MemberController.php 存储功能:
public function store(Request $request)
{
$member = new Member;
$member->name = $request->name;
$member->surname = $request->surname;
$member->id_number = $request->id_number;
$member->mobile_number = $request->mobile_number;
$member->email = $request->email;
$member->date_of_birth = $request->date_of_birth;
if(!$member->save()){
$errors = $member->getErrors();
return redirect()
->action('MemberController@create')
->with('errors', $errors)
->withInput();
}
//successful creation
return redirect()
->action('MemberController@index')
->with('message', '<div class="alert alert-success">Member Created Successfully!</div>');
}
如何修复它,以便仅在实际填写该字段但格式不正确时出生日期显示错误?
解决方案
在这里,您将找到date
不同条件的规则:
$v = Validator::make(
['start_date' => date('30-05-2028')], // input
[
'date_of_birth' => ['before:5 years ago'],
'start_date' => 'required|date_format:d-m-Y|after:8 years',
'end_date' => 'date_format:d-m-Y|after:start_date',
]
);
if ($v->passes())
dd('Your Date format is correct.');
else
dd($v->errors());
对于您的情况,您应该尝试:
'date_of_birth' => 'date_format:Y-m-d|before:today|nullable'
小心:您必须使用这种Y-m-d
格式。不是这个Y-M-D
。月份和日期参数必须小写。希望它能解决你的问题。
推荐阅读
- r - data.matrix 仅返回小数点后的值并将负值转换为 R 中的正值
- spring-boot - Spring Boot Cucumber Java 8 测试 ApplicationOnReady 事件
- git - 设置对 Github 的多个 SSH 密钥访问
- typescript - 打字稿错误?函数在定义为接受 A 和 B 类型的联合时接受缺少道具的对象,其中 B 扩展了 A
- java - 如何编码娘家姓
- javascript - 如何将 flex 行中的最后一个 Material UI 项目向右对齐?
- selenium - 测试用例 XRay 与 Jira 的映射不正确
- r - 在 R 中,如何识别在我的逆距离矩阵中包含 INFINITE 值的特定单元格?
- google-scholar - 如何使我的 Google Scholar 帐户可搜索?
- regex - 正则表达式如何匹配缩进块