問題タブ [spring-validator]
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.
spring-mvc - @Valid と @InitBinder を一緒に使用した Spring Rest Validation
春の REST アプリがあり、@Valid アノテーションを使用して、単純な @NotNull チェックで検証できる Bean フィールドを装飾したいと考えています。
このような
それに加えて、より複雑な検証を行うために @initBinder を使用したい (1 つのフィールドの値に基づいて 2 番目のフィールドが必須であるなど)
バリデーターの実装は次のとおりです (条件付き検証の場合のみ)
}
どちらか一方を使用する例をオンラインでたくさん見ました。両方のアプローチを一緒に試してみましたが、 @initBinder をセットアップすると、リクエスト オブジェクトの @valid アノテーションが受け入れられなくなります。
単純な @NotNull チェックのために、Spring Validator クラスにコードを書きたくないからです。両方の方法を一緒に行う方法はありますか。
java - Spring 検証と Spring キャッシュ プロキシの順序が機能しない
Spring キャッシュ (EHCache を使用) と Spring 検証を統合すると、プロキシの順序が正しく設定されません。
キャッシュ アノテーション (この場合は CacheEvict) が処理される前に、検証アノテーションを処理する必要があります。
私の構成クラス:
そして私の関連する依存関係:
問題のあるインターフェイスと実装クラス:
ご覧のとおり、MethodValidationPostProcessor の順序を Orderer.LOWEST_PRECEDENCE-1 に設定し、キャッシュの順序を Ordered.LOWEST_PRECEDENCE (@EnacbleCaching 内) に設定しました。
それはプロキシの順序を設定する正しい方法ですか?
問題は、インターフェースに検証アノテーションがあり、実装にキャッシュアノテーションがあることに関連している可能性がありますか?
spring - spring バリデーター @Pattern は整数では機能しません
私は単純なパターン検証を試みています:
しかし、次のようなエラーが発生します。
しかし、これは完全にうまくいきます:
正規表現は数値型では機能しないようです。
java - Spring BindingResult またはバリデーターにエラーが表示されないのはなぜですか?
メールを含む Spring Bean を検証しようとしていますが、リクエスト Bean のメールが空の文字列の場合、バリデーターも BindingResult もエラーを表示しません。次のコードを参照してください。
豆:
コントローラ:
XML 構成:
java - 依存オブジェクトのSpringフォーム検証
フォームを検証しているときにこの問題に直面しました。単一のエンティティの場合、問題なく機能しました。しかし、ネストされたオブジェクトでオブジェクトを検証しようとすると、このエラーが発生します。
以下は私のコントローラーです
以下は私の薬の注文モデルです
以下は依存クラス Payment Request public class PaymentRequest{
以下は、支払い要求を保持する薬の注文を保持する場所です。
public class MedicineOrderRepositoryImp は MedicineOrderRepository を実装します{
そして最後にjspコードに従います。
spring-mvc - Spring MVC - コントローラーの @ModelAttribute オブジェクトにプロパティを設定する
Spring を使い始めたところ、解決できない問題が見つかりました。「ロール」プロパティを持つユーザーエンティティがあり、「ロール」はセットオブジェクトであり、エスティティは次のとおりです。
私の「役割」エンティティは次のとおりです。
JSPには、すべての「ロール」のリストを含むコンボボックスがあります
1 つまたは複数の「役割」を選択し、次のコントローラーにフォームを送信します。これには、選択した「役割」の ID のリストを持つ @RequestParam が存在します。
行 userValidator.validate(userForm, bindingResult, false); プログラムは次のエラーを表示します。
この問題を解決するのを手伝ってください
java - Spring MVC での条件付き検証に JSR-303 アノテーションを使用する
10 個のフィールドを持つフォームがありますが、最初はページに 5 つのフィールドしか表示されません。残りのフィールドは非表示になり、他のフィールドにバインドされた onChange イベント リスナーに基づいて表示されます。
空白ではないフィールドが 5 つだけあるフォームを送信できるシナリオがあります。その場合、検証はそれらの 5 つに対してのみ実行する必要があります。場合によっては、すべてのフィールドに対して検証を実行する必要があります (onChange コールバックを使用した他のフィールドの状態に基づいて)。注釈を使用してフィールド検証をフィルタリングする方法はありますか、それともカスタム バリデータを作成する必要がありますか?
現在、10 個のフォーム フィールドすべてが検証されています。ルールは次のとおりです。
- a、b、c、d、e は必須フィールドです
- f,g,h は、a="111" の場合にのみ表示されます
- i,j は、c="222" の場合にのみ表示されます
サンプルコード:
コントローラーコード: