問題タブ [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つあります。その中で、Bookという名前のモデルクラスが1つあります。Book.list()、Book.get(id)、およびsave()などの他の休止状態の呼び出しを呼び出している場合は、任意のコントローラーから、現在のログインユーザーロールを使用して承認したいと思います。承認に失敗した場合、エラーをスローする必要があります。このために利用できるプラグインはありますか?アイデアや提案をお願いします。
ajax - GrailsとAJAX:ModalBoxまたはYUI2 Dialogを使用してGrailsフォームの検証が機能しますか?
私が書いているようないくつかのGmailアプリケーションは、「ダッシュボード」である/userビューと/adminビューを必要とします。基本的に、ユーザーまたは管理者は、ログインに成功し、すべてのデータテーブルとタブがそこにあると、そのページにアクセスします。 、そのため、そのページから移動する必要はほとんどなく、GmailやMintのユーザーが慣れているように、より満足のいくユーザーエクスペリエンスを提供します。
メイン/ユーザーダッシュボードからの検索とフォーム投稿を可能にするために、私はmodalboxプラグインv0.4を使用していますgrails install modalbox
。Modalboxは明らかにGET/POST自体を管理しており、残念ながら、一般的な制約ブロックが提供する検証の99%を失っています。
今のところ、g:submitButtonを置き換えて、これを回避し、図のようにいくつかの基本的なJavaScriptを送信に入れます。(もちろん、これはひどい回避策です。)
しかし、もっと良い方法があるはずです! g:remoteFormを使用するように言われましたが、Modalboxで動作するのに十分な完全な例を見ていません。たぶん人々はGmailの作成ウィンドウのように自動的に数秒を閉じる新しいウィンドウを使用していますか?
これは、SiteMeshテンプレート、または少なくとも「レンダリングテンプレート:」またはmodalBox:createLinkのようなGSPタグに適しているほど一般的なシナリオである可能性があります。
ここGtownプロジェクトスペースで入手可能なソース。
grails - カスタム エラー メッセージに関する Grails の問題
現在、デフォルトの制約に対して grails でカスタム エラー メッセージを指定しようとしていますが、これまでのところ、返されるのはデフォルトのエラー メッセージだけです。
grails-app/i18n/messages.properties ファイルを編集する必要があることはわかっています
次のデフォルトのエラー コード メッセージを変更すると、新しいエラー メッセージが正しく表示されます
しかし、これは私がやろうとしていることではありません。より詳細なエラー報告が必要で、空白にすることができるフィールドが複数あります。できるようにしたいのは、クラスの各フィールドにカスタム メッセージを表示することです。
(messages.properties の末尾に追加された次のコード)
grails のドキュメントによると、これはパッケージ名の有無にかかわらず、正しく動作するはずです - className.propertyName.blank
grails.org/doc/latest/ (制約セクション) & (セクション 7.4 - 検証と国際化)
考えられるすべての組み合わせを試しましたが、常にカスタム メッセージが表示されます
grails i18n テンプレートプラグインのインストールも試みました
http://www.grails.org/I18n+Templates+Plugin
エラーコードを自動的に生成しました。既存の messages.properties ファイルの末尾に新しいエラー コードを追加しましたが、それでもデフォルトのエラー メッセージが表示されます。
ただし、プラグインによって生成されたエラー コードには何か違いがありました。
grails doc で指定された形式 - test.name.null=...... の代わりに、test.name.null.error=Custom Message を自動的に生成しました。
デフォルトのエラーメッセージも完全に削除しようとしましたが、まだ表示されています
誰かが以前にこの問題を経験したことがある場合は、誰かが私にできる助けをいただければ幸いです
前もって感謝します
grails - Grails フィールド エラーの表示
fieldError
以下の例で印刷する方法を知っている人はいますか。
エラーのあるアイテムごとに、messages.properties ファイルで定義したカスタム エラー メッセージを出力したいと考えています。
現時点では、これはデフォルトのエラーコードを出力するだけです
フィールドのエラーコードを検索できる他の例を見てきました。
しかし、デフォルトのメッセージを新しいエラー メッセージに変換して出力したいと思います。
grails - Grails-ドメインクラスの問題でカスタムバリデーターをテストする
私はGrailsからgrailsを学んでいます-JasonRudolphの本から始めました。私のドメインクラスは次のようになります。
startDateTimeフィールドのカスタム検証をテストしたいと思います。テストは次のようになります。
テストは、前述の本のテストと似ています。しかし、私は得ています
私は立ち往生していて、解決策が見つかりませんでした:/助けていただければ幸いです。
java - マルチドメイン関連付けに関する Grails 検証の問題?
3 つのドメイン間の保存アクションを検証する必要があります。関係は次のとおりです。
ユーザー - JobProcess : 1 対多、JobProcess - ヒートマップ : 1 対多。
私は例外を使用して検証フローを制御しています。これが私の検証クラスです:
また、ヒートマップ操作を抽象化するサービス クラスを作成します (そして、params データをオブジェクトにバインドします)。
そして私のコントローラー:
私の最初の問題: user.save() を使用してエラー検証がありません - 検証が実行されないのはなぜですか?
この問題を修正するには、if (user.save()) by : if (heatmap.validate() && user.save()) を購入して更新します。
続行するためのより良い方法はありますか?
私の 2 番目の問題: リダイレクトが無効な投稿の例外をトリガーしていません。
作成ビューにリダイレクトされましたが、すべてのフィールドが空白で (すべてのフィールド情報が失われました)、検証エラーはありません。
それにもかかわらず、私は model:[heatmap:che.invalidObject] を使用しています。
例外を除いて、invalidObject を返しているので、作成ビューには正確な検証エラーが表示されるはずです。どうしたの ?
ありがとう
grails - 日付検証のための Grails 最小制約
私はgrailsとgroovyの初心者です。開始日と終了日を持つ Project ドメインクラスがあります。終了日が開始日よりも大きくなる必要があることを指定する制約を入れたいです(さらに、プロジェクトの別の子オブジェクトは、親プロジェクトの日付で開始日と終了日を検証する必要があります)。これは最小制約で可能ですか、それとも別の場所に配置する必要がありますか? 一意の制約では、2 つのプロパティをそのようにリンクできますが、最小/最大制約がそれを許可することを願っています。私が試してみました
プロパティstartDateがプロジェクトで利用できないというエラーがスローされます
validation - カスタムGrails検証
2つのフィールドが等しくなく、一方が他方よりも大きいことを確認したいと思います。言っyearBorn
てyearMarried
。それらを等しくすることはできず、yearMarried
より大きくする必要がありますyearBorn
。
grails - 検証可能なGrailsは、非永続ドメインクラスでは機能しません
私はここの指示に従いました:http ://www.grails.org/doc/latest/guide/7.%20Validation.html
config.groovyに追加:
次に、src / groovy / Warm.groovyに追加されます(これは非永続的なドメインクラスです)。
ただし、「hasErrors」関数では機能しません(「空白false」と「サイズ:0..25」の両方)。名前が25より大きい場合でも、常にfalseを返します。
これはGrailsのバグですか?はいの場合、回避策はありますか?
Grails1.3.3を使用しています
更新:簡略化されたコードを更新しました。そして今、私は制約「サイズ」が「空白」と一緒に使用できないことを知っていますが、それでも機能しません。
test / unit/ヴライニングテスト/WarmTests.groovyの私のテストクラス
そして私が得たエラー:
更新2:単体テストを使用せずに、コントローラーでhasErrorsを呼び出そうとすると、実行されますが、false値が返されます。(hasErrorsはWarm('Hihi'、3)でfalseを返します)。誰かが手がかりを持っていますか?
更新3:私はVictorの方法に従いましたが、hasErrors()の前にvalidate()を呼び出すと、問題は解決します。しかし、私はまだ理解していません。なぜ「grailsgenerate-all」コントローラーはhasErrors()を使用する前にvalidate()を呼び出す必要がないのですか?
grails - validate()とhasErrors()の関係は何ですか
この質問は私の別の質問の問題から来ています。その質問では、パート7.5の指示に従ってすべてのことを行った後でも、非永続ドメインクラスhasErrors()
では関数が機能しないという状況に遭遇します。
ビクターのやり方に従って、validate()を呼び出して問題を修正しましたが、なぜそれが機能するのかわかりません。Grailsドキュメントには、hasErrors()関数の前にvalidate()を呼び出す必要があることについては何も書かれていないようです。これはどのように起こりますか?