最佳答案
保存前回调:
$form->saving(function (Form $form) {
if ($form->password && $form->model()->password != $form->password) {
$form->password = bcrypt($form->password);
}
});
讨论数量:
保存前回调:
$form->saving(function (Form $form) {
if ($form->password && $form->model()->password != $form->password) {
$form->password = bcrypt($form->password);
}
});
$form->password 指的是用户输入的密码
$form->model ()->password 指的是数据库存储的密码
$form->model()->password != $form->password 用于判断是编辑状态还是新建状态
dcat admin的示例,不是laravel admin,不知道某些方法是否互通
if ($form->isCreating()) {
$form->password('password')
->minLength(6)
->maxLength(16)
->rules('regex:/^\w{6,16}$/', [
'regex' => '密码6-16位,只能包含数字、字母、下划线'
])
->required();
} elseif ($form->isEditing()) {
$form->password('password');
}
$form->submitted(function (Form $form) {
if ($form->input('password')) {
if (!preg_match("/^\w{6,16}$/i", $form->input('password'))) {
$form->responseValidationMessages('password', '密码6-16位,只能包含数字、字母、下划线');
}
}
});
推荐文章: