問題タブ [grails-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.
grails - Grails エラーコード
Grails でドメイン オブジェクトと対話するときにスローされる例外から、エラー コードが何であるかを判断しようとしています。
いくつかのフィールド検証があるデータベースがあり、その検証の 1 つは、特定の列が一意でなければならないというものです。ドキュメントによると、className.propertyName.unique
( http://grails.org/doc/latest/ref/Constraints/unique.html )のエラーコードが表示されます。コントローラーを try catch ブロックのようにラップすると。これにより、あらゆる種類の検証例外をキャッチできます。
エラー コードにアクセスするにはどうすればよいですか? のようなことをしたいのですがIf the Error Code = className1.propertyName2.unique
、応答しpropertyName2 is not unique
ます。
保存操作を行うときに、「failOnError: true」をパラメーターとして設定しています。
ありがとう!
ruby-on-rails - 新しいパスワードを設定するには、現在のパスワードを要求する
ユーザーがプロファイルを編集するときに現在のパスワードを入力するようにします。
これは私のユーザーモデルがどのように見えるかです:
そして私のコントローラパラメータ:
そしてユーザーフォームのパーシャル:
しかし、スタックレベルが深すぎて、検証ループに入ります。
私は何を間違っていますか?
hibernate - 独自ドメインでの Grails 検証
私は Grails 2.4.2 を使用しており、多くのInvoiceRecipientを持つクラスContractを持っています。InvoiceRecipients クラスには、 invoice -original の「O」と送り状のコピーの「C」の2 つの可能な値を持つ、 invoiceType属性があります。ご想像のとおり、1 つの契約の InvoiceRecipients には、タイプが「O」の1 つのレコードのみが許可されます。
次のスニペットのように実装しようとすると、VM で StackOverflow が発生します。
私が試した別のアプローチは、契約の受信者配列を反復処理して、invoiceType 'O' のレコードをカウントするサービス メソッドでした。 ->コントローラーの invoiceRecipients リレーション。
最後の両方のケースで、Hibernate は現在の InvoiceRecipient レコードの更新ステートメントを生成し、これを検証しようとします。また、現在の InvoiceRecipient の検証が失敗し、インスタンスのエラー オブジェクトにデータを入力した場合でも、レコードは既に更新されています (制約はクラスにコーディングされておらず、「保存」でエラーをスローしないため、問題はありません)。データベースに論理的に間違ったレコードがあります。
grails - Grails 2.4.4 が無効な日付を受け入れないようにする
私の同僚の 1 人が Grails 2.4.4 でアプリケーションを作成しました (それは古いものです)。アプリの問題点の 1 つは、2015 年 2 月 31 日のような日付を入力すると、有効なものとして受け入れられ、代わりに 2015 年 3 月 3 日としてドメイン オブジェクトに表示されることです。
grails を使用してこれを防ぐ簡単な方法はありますか? それとも、この特定のプロパティに対してクライアント側の検証に頼る必要がありますか?
ありがとう。
grails - grails コマンド オブジェクトの検証における矛盾
制約付きの次のコマンド オブジェクトがあります。
コントローラー内で次の方法でオブジェクトを開始します。
最初に検証をデプロイすると、validate() は常に true を返し、hasError() は null を返します。
nginx を使用しているため、RefundCommand ファイルに変更を加えると、自動コンパイルの検証後に動作が開始されます。
その理由は何でしょうか?
nginxサーバーでgrails-2.2.2を使用しています。
grails - Grails では、デフォルトのエラー メッセージをオーバーライドできません
しかし、まだ運がありません。「Property[userName] of clas[package_name] cannot be null. I'm using Grails 3.0.8」というデフォルトのエラー メッセージが引き続き表示されます。