【发布时间】:2022-01-13 01:25:23
【问题描述】:
我在不需要出生日期的会员模型中创建了验证规则。但是,当有人填写他们的出生日期时,我希望它是 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_of_birth' => 'date_format:Y-M-D|before:today|nullable', -
@jproux 尝试使用 'y-m-d' 而不是 'Y-M-D'