問題タブ [validates-uniqueness-of]

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 投票する
1 に答える
8786 参照

hibernate - Hibernate-同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられていました

重複の可能性:
Spring + Hibernate:同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられています

から@idエンティティのを変更した後

エラーが発生します:

Webアプリケーションでは何も変更されていません。エンティティを読み取り、フォームのいくつかのフィールドを変更し、送信後、エンティティを保存または更新しようとしました。intasでは@Id問題はありませんでしたが、エンティティを更新または保存することで上記のエラーが発生しましたString@Id

何が問題なのですか?

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

ruby-on-rails - validates_uniqueness_of が機能しない

これは、私が以前に読んだある種の同期の問題ではありません。コードは非常に単純です。モデル:

rspec テスト:

テストを実行すると、エラー メッセージが表示されます。

スクリプト/コンソールを実行し、同じメール アドレスを持つ 2 つのユーザー オブジェクトを作成します。うまくいき、検証メッセージは発生せず、2 つのオブジェクトが両方ともテーブルに挿入されました。何が悪いのかわからない。

私のレールのバージョンは 2.3.8 で、rspc は 1.3.0 です。

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

ruby-on-rails-3 - Rails 3 validates_uniqueness_of with :scope は無効な SQL を生成しますか?

いくつかの月次統計を記録する 2 つのモデルがあり、次を使用してモデル内で複合キー制約を適用しようとしています。

レコードに対してメソッドを実行しようとすると、.valid?ActiveRecord が不適切な SQL を生成しているように見えるため、継続的にエラーが発生します。

上記の Rails は select ステートメントに * を追加していないため、SQLite は正しくエラーをスローすることに注意してください。

ここで何か間違ったことをした場合のアイデアはありますか?

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

ruby-on-rails - Rails validates_uniqueness_of :外部キーのスコープ

「ストア」に属しているモデル「製品」があります(これには「多くの製品」があります)。商品名の一意性を検証したいが、各店舗内のみ。

今私はこれを持っています:

任意の製品で保存を実行すると、次のようになります。

ここで私が犯している単純なエラーがあると確信しています。私を教育してください。

ありがとう、

ハリス

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

ruby-on-rails - 検証付きの予約型システム - Rails 3.0

オブジェクトの日付の一意性を「検証」しようとする最善の方法は何でしょうか。

--

たとえば、一度に 1 人しか入室できない部屋があります。

ユーザーはこの部屋を事前に予約できます。

現在、お部屋は3月1日から3月5日までご予約いただいております。

それらの日に誰も予約できないようにしたい.

そのため、誰かが 2 月 25 日から 3 月 2 日までに部屋を予約しようとした場合、部屋が満室であるため、予約できないことを伝える必要があります。

--

Rails3.0を使用しています

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

ruby-on-rails - Rail Model: 関連するエンティティの属性のスコープで validates_uniqueness_of を使用しますか?

私はモデルを以下のように定義しています

2 つの名前属性は、1 つのスコープに対して一意である必要があります。つまり、1 つに属するすべての 2 つには固有の名前が必要です。ここでは、Twoモデルで以下のようなものを指定できません

on_id は 2 の表の列ではないためです。むしろ、one_id と two_id は、テーブルmap_ones_twos (多対多の関係) を介して互いにマップされます。

提案してください

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

ruby-on-rails - Railsモデルの検証:大文字と小文字を区別するfalseを使用してvalidates_inclusion_ofが必要ですか?

これが機能していないコードです

現在、日曜日を除くすべての日がdbにあります。「日曜日」を追加しようとしていますが、「リストに含まれていません」というエラーが表示されます。

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

ruby - Railsモデル:validates_uniqueness_ofは、一意のチェックの前に先頭のスペースではなく末尾のスペースを削除しませんか?

ユーザーの名前に validates_uniqueness_of を実装するとします。名前「maddy」がすでに存在する場合、値「maddy」は一意の値として受け入れられますが、「maddy」は受け入れられません。両側のスペースを削除する必要があります。どうやってその振る舞いをするのですか?

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

ruby-on-rails - Rails 3: Uniqueness validation for nested fields_for

A have two models, "shop" and "product", linked via has_many :through.

In the shop form there are nested attributes for multiple products, and I'm having a little trouble with the product's uniqueness validation. If I enter a product, save it, then try to enter the same name for a new product, the uniqueness validation triggers successfully.

However, if I enter the same product name in 2 rows of the same nested form, the form is accepted - the uniqueness validation doesn't trigger.

I'm guessing this is a fairly common problem, but I can't find any simple solution. Anyone have any suggestions on the easiest way to ensure uniqueness validations are obeyed within the same nested form?

Edit: Product model included below

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

asp.net-mvc-2 - 一意の値の検証: 永続化レイヤーへの更新前または更新後?

ビュー フィールドの値がエンティティ セット内で一意であることを検証するための最良の方法は何だろうと思っています。永続化レイヤーの更新前または更新後ですか? 関連する db フィールドには一意の制約があり、そのテーブルは EF モデルにマップされます。エンティティセットで一意の値を検証するには、次の 2 つの方法があります。

  1. 変更を db に保存する前(モデルの更新中、またはカスタム DataAnnotations でモデルを装飾することによって)
  2. 変更を db に保存した後(永続層によって生成された UpdateException をリポジトリまたはコントローラーで処理することにより)

最初の方法では、一意性を確認するためにデータベースにクエリを実行する必要があるためビューの更新にはデータベースの選択とデータベースの更新の両方が必要になります。

2 番目の方法では、追加の選択は必要ありませんが、エラーの種類と問題のあるフィールドを特定することは困難です。

私は方法 2 を好みますが、一意の制約が原因で挿入/更新が失敗したかどうかを判断する問題により、方法 1 を選択せざるを得なくなりました。

それとも別の方法がありますか?