Laravel 다 중 필드 이름 필드 검증 방법
6181 단어 laravel다 중 도 메 인 이름검증 하 다.
작가 가 사이트 에 소프트웨어 를 제출 할 수 있 도록 통일 작가 백 스테이지 를 개발 하고 있다.우 리 는 이미 그 중의 한 사이트 에 대해 작가 의 백 스테이지 를 개 발 했 는데,지금 우 리 는 이 백 스테이지 를 다른 사이트 에 제공 할 계획 이다.그것 은 다음 과 같은 몇 가지 특징 을 가지 고 있다.
시작 하기 전에 우 리 는 시스템 의 각 기능 점 을 분리 하고 영향 을 받 은 점 을 추산 해 야 한다.
등록
로그 인 등록 기능 이 가장 중요 합 니 다.저 희 는 사용자 가 등록 할 때 방문 하 는 도 메 인 이름 이 다 르 고 기록 하 는 신분 도 다 릅 니 다.그래서 우 리 는 다음 과 같은 처 리 를 해 야 한다.
판단 근거:
우 리 는
php artisan make:auth
을 사용 한 후에 이메일 로그 인 을 기본 으로 하고 폼 검증 에서 이메일 에 대해 무 게 를 판단 하 는 것 을 알 고 있 습 니 다.코드 는 다음 과 같 습 니 다:기본 폼 인증:
// Path:app/Http/Controllers/Auth/RegisterController.php
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
기본 로그 인 인증 필드
// Path:vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php
public function username()
{
return 'email';
}
// ( ), : 。
지금 우 리 는 우리 의 수 요 를 분석 해 야 한다.단일 사용자 백 스테이지 에 서 는 이메일 의 무 게 를 판단 하 는 것 만으로 도 충분 하지만 여러 사용자 가 함께 사용 하 는 것 으로 는 부족 합 니 다.
가설:우 리 는 A,B 두 개의 도 메 인 이름 이 있 고 a,b 두 가지 사용자 에 대응 합 니 다.우 리 는 한 장의 표 에 a,b 를 저장 해 야 합 니 다.먼저 우 리 는 a,b 가 그 도 메 인 이름(사이트)에 속 하 는 지 판단 하고 그 다음 에 이 사용자 가 중복 되 는 지 확인 해 야 합 니 다.
다음은 Laravel 폼 검증 으로 이 루어 집 니 다.
1.필드 추가:
프 리 젠 테 이 션 을 편리 하 게 하기 위해 저 는 make auth 에서 생 성 된 이전 파일 을 직접 수정 합 니 다.여러분 은 실제 항목 에서 직접 수정 하지 말고 새 이전 파일 을 통 해 표 구 조 를 수정 하 는 방식 으로 필드 를 추가 합 니 다.
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email'); // unique
$table->string('identity'); //
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
메모:이 수요 에서 저 희 는 이전 파일 의 email 과 name 필드 에 대해 유 니 크 한 제한 을 할 필요 가 없습니다.그들의 유일 성 은 의존 적 이 고 독립 적 이지 않 기 때 문 입 니 다.2.아 날로 그 사용자 등록,신분 정보 삽입
// Path: app/Http/Controllers/Auth/RegisterController.php
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'identity' => 'pcsoft', // ,
]);
}
3.재 처리
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', Rule::unique('users')->where(function ($query) {
$query->where('identity', '=', 'onlinedown');
})], // : users email , email ,
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
4.테스트첫 번 째 등록 을 진행 합 니 다.데이터 베 이 스 는 다음 과 같 습 니 다.
두 번 째 등록,같은 메 일,다른 신분:
동일 신분,동일 메 일 테스트
로그 인 인증
credentials 를 덮어 쓰 고 인증 필드 로 전송 합 니 다.
// Path:app/Http/Controllers/Auth/LoginController.php
protected function credentials(Request $request)
{
$request->merge(['identity' => Controller::getWebPrefix()]);
return $request->only($this->username(), 'password', 'identity');
}
총결산이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.