Laravel 개발에서 양식 데이터 검증은 필수 부분이며, 일반적인 요구 중 하나는 데이터베이스의 필드 값이 고유한지 확인하는 것입니다. Laravel 은이 기능을 빠르게 구현하기위한 고유 한 검증 규칙을 제공합니다.
필드의 독창성을 확인 해야하는 경우 검증 규칙에 고유 한 다음과 같이 직접 추가 할 수 있습니다.
$request->validate([
'email' => 'unique:users',
]);
이 규칙은 사용자 테이블의 이메일 열 값이 이미 존재하는지 확인하고 반복되면 유효성 검사 오류가 반환됩니다.
사용자 정보를 업데이트 할 때는 원래 이메일 주소를 유지해야 할 수도 있습니다. 현재 고유 한 규칙에서 현재 레코드의 ID를 추가하여 자신을 제외 할 수 있습니다.
$request->validate([
'email' => 'unique:users,email,' . $user->id,
]);
이 확인은 ID $ USER-> ID가 있는 레코드를 무시하고 다른 레코드에서 고유 한 수표 만 수행됩니다.
비밀번호 등록 또는 수정이 등록되는 시나리오에서는 일반적으로 입력이 올바른지 확인하기 위해 비밀번호를 두 번 입력하도록 요청받습니다. Laravel 은이 요구 사항을 단순화하기위한 확인 된 규칙을 제공합니다.
예를 들어 필드 유효성 검사 규칙에 확인 되었습니다.
$request->validate([
'password' => 'required|confirmed',
]);
이 규칙은 비밀번호 필드의 값과 Password_Confirmation 필드의 값이 일관성인지 자동으로 확인합니다. 일관성이 없으면 오류가 표시됩니다.
암호 수정 기능을 구현할 때 새 비밀번호를 확인하는 것 외에도 사용자가 입력 한 이전 암호가 올바른지 확인하고 새 비밀번호에 보안 제한을 부과해야합니다.
비교적 완전한 비밀번호 수정 검증 예는 다음과 같습니다.
$request->validate([
'old_password' => 'required',
'new_password' => 'required|min:8|different:old_password',
'confirm_password' => 'required|same:new_password',
]);
안에:
위의 규칙을 통해 비밀번호 수정 프로세스의 보안을 효과적으로 개선하고 사용자는 오용을 줄일 수 있습니다.