問題タブ [laravel-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3756 参照

php - Laravel/Eloquent: モデル内からの検証

Laravel 4.2 と eloquent に慣れてきました。私は、laracasts.com で Laravel from Scratch キャスト、特に検証に関するレッスンとフォローアップ リファクタリングを見てきました。これらのレッスン全体で使用される例では、ユーザー名とパスワードの 2 つのフィールドしかない比較的基本的なユーザー モデルを扱います。私のユーザー モデルにはさらに多くのフィールドが含まれており、登録フォームでは、ユーザーが入力したパスワードを再入力/確認するよう求められます。

ユーザー入力を検証するプロセスはモデル内で実行することをお勧めしますが、これは完全に理にかなっています。そのチュートリアルと同じようisValidに、登録フォームでのユーザー入力を検証するメソッドをモデルに追加しました。次のような入力に基づいてユーザー モデルを埋めます。

これで、ルールを作成し、検証が機能するようになりました。これで、ユーザーの入力をデータベースに保存する準備が整いました。ただし、モデルにユーザー入力全体を入力したため、ユーザー モデル インスタンスには の属性が含まれるようにconfirm_passwordなり、呼び出すと$user->save();エラーが発生します (データベース テーブルにこのフィールドがないため)。さらに、検証のためにユーザー入力を渡したばかりなので、パスワードもハッシュ化されていません。

モデルが実際にデータベーステーブルを表すユーザー入力 VS の検証に関して、どのようなアプローチを取るのが最善でしょうか? 検証をモデルの外に移動したり、おそらくモデルに検証ルールを保存させたりすることで、これらすべてを回避できる方法があることは知っていますが、ベストプラクティスに関するアドバイスを探すことができます。

ありがとう

0 投票する
1 に答える
357 参照

php - Laravel Validation ログインフォームの検証はパスワード確認で失敗しますか?

ログインフォームとサインアップフォームの2つのフォームと1つのユーザーモデルがあり、ユーザークラスにルールとメッセージを設定しました。これらは静的メンバーである$rulesと$messagesであり、現在直面している問題はサインアップフォームですすべてが正しいことを検証しますが、ログインフォームでは、正しい電子メールとパスワードを入力した後、ログインフォームに password_confrimation フィールドがないため、「パスワード確認が一致しません」というメッセージが表示されます。

UserModel のルールとメッセージ

ログインアクション

0 投票する
3 に答える
3476 参照

validation - Laravel - 検証のローカリゼーションが機能しない

trans()関数を使用してファイルから特定の翻訳を返すときはいつでもvalidation.php、完全に機能します。アプリケーションに 2 つの言語があり、両方の翻訳が返されます。

ただし、Laravel バリデーターを使用すると、デフォルトのロケールでのみメッセージが返されます。バリデーターで指定する必要があるものはありますか? 両方の言語で機能させるにはどうすればよいですか?

0 投票する
7 に答える
127414 参照

php - Laravel 検証: 追加の列条件で存在 - カスタム検証ルール

Laravelでexistsバリデーションルールを指定する際に別のフィールドを参照する方法はありますか? 入力 a はテーブル a に存在する必要があり、入力 b はテーブル b に存在する必要があり、テーブル b の列 x の値は入力 a と等しくなければならないと言えます。

例によって最もよく説明されています:

したがって、検証ルールを使用して、次のことを確認できるようにしたいと考えています。

  • game_idgamesテーブル (idフィールド)内に存在する
  • team1_idteamsテーブル (idフィールド)内に存在し、game_id列 (テーブル内) は入力teamsの値と等しくなければなりません。game_id
  • 上記のようにteam2_id

したがって、私のフォームで1forを入力した場合、チーム テーブル内のレコードが両方のとの値を持ってgame_idいることを確認できるようにしたいと考えています。team1_idteam2_id1game_id

これが理にかなっていることを願っています。

ありがとう

0 投票する
1 に答える
1021 参照

regex - Laravelのカスタム検証で属性名に正規表現を追加するには?

以下に示すように、カスタム検証では:

attribute-name-{regex} と一緒に正規表現を定義するにはどうすればよいですか?!

例: