Laravel请求验证4位数,这也不是必需的参数



我想验证一个pin码,这只是4位数字,它不应该是必需的。意味着pin码只有4位数字。例如1234、8675,或者如果用户没有向Pincode输入类型输入任何数字,则让用户提交表单。我想给数据库的默认值1111,如果用户不输入pin码。

您可以验证允许pinnull的请求(或使用表单请求),否则验证它是一个4位数。然后,您可以从输入或回退中获得pin到默认值1111.

$request->validate([
'pin' => ['nullable', 'numeric', 'digits:4'],
]);
$pin = $request->input('pin', '1111');
use IlluminateSupportFacadesValidator;

$validator = Validator::make($request->all(), [                
'pin' => ['numeric' , 'min:4', 'max:4']         
]);

if ($validator->fails()) {
$pin = 1111;
}           

if ($validator->validated()) 
{   
$pin = $request->pin;   
}

最新更新