Spring の<form:errors>
タグを使用してオブジェクト プロパティの検証エラーを表示することには慣れていますが、クラス レベルでエラーを表示するにはどうすればよいでしょうか。
これが私が話していることの例です:
@ScriptAssert(lang = "javascript",
script = "_this.isExistingEmployee == true || (_this.phoneNumber != null && _this.address != null)",
message = "New hires must enter contact information")
public class JobApplicationForm {
@NotBlank(message = "First Name is required")
private String firstName;
@NotBlank(message = "Last Name is required")
private String lastName;
@NotNull(message = "Please specify whether you are an existing employee in another area")
private Boolean isExistingEmployee;
private String phoneNumber;
private String address;
}
@ScriptAssert
ここでは、応募者が既存の従業員であることを示した場合は連絡先情報をスキップできますが、そうでない場合は入力する必要があることを確認するだけです。この検証が失敗した場合、エラーは特定のフィールドではなく、クラスにあります。
フォーム内で、フィールドのエラーを<form:errors path="firstName">
表示したり、 を使用してすべてのエラー (クラスとフィールド) を一度に<form:errors path="*">
表示したりできますが、クラス レベルのエラーを分離して表示するにはどうすればよいですか?