私は、ユーザーが自分のデータを編集できる多くの異なる場所をアプリケーションに用意しています。具体的には、登録から始め(ユーザー名の長さを確認するなどのフィールドが必要な場合など)、ログイン時にデータを確認して(ユーザー名の長さを再度確認して)フォームを検証する必要があります。さらに、プロフィールを編集しているときに、ユーザー名などの最大文字数を確認する必要があります。これはほんの始まりに過ぎません。私が管理パネルを持っているなら、私はそれを行う必要があります。モデレートパネル、私はそこでそれを行う必要があります。ユーザー名だけではなく、フルネーム、アバターURLなどでも構いません。Laravelフォーム検証ルールの複製を防止する
登録にはログイン時に約4つのフィールドがあり、ユーザーアカウントには2つしかないため、リクエストファイルを1つ作成できません10のようになります。したがって、すべてのシナリオで要求ファイルが異なる必要があります。
ただし、ユーザー名などの検証ルールはx文字である必要があり、英数字である必要があります。また、パスワードは最大x文字などでなければなりません。これは、すべての異なる要求ファイルにわたって非常に反復的です。
すべての検証ルールを重複せずにこの問題を最もよく並べ替えるにはどうすればよいですか?
コード例:
// LoginRequest.php
public function rules()
{
return [
'username' => 'required|max:16|min:6',
'password' => 'required|max:16|min:6|alphanumeric'
];
}
// UserAccountSettingsRequest
public function rules()
{
return [
'username' => 'required|max:16|min:6|alphanumeric',
'email' => 'required|email',
'name' => 'required|max:100|min:2',
'password' => 'required|max:16|min:6',
'avatar' => 'required|max:256'
];
}
// RegistrationRequest
public function rules()
{
return [
'username' => 'required|max:16|min:6|alphanumeric',
'name' => 'required|max:100|min:2',
'email' => 'required|email',
'password' => 'required|max:16|min:6',
];
}
あなたが見ることができるように、私は多くのルールを何度も繰り返していました。どうすればこれを防ぐことができますか?
ありがとうございます!
大変ありがとうございます。 –
あなたは歓迎です:) – Kevin