私は自分のプロジェクトでSpring 3.0.5RELEASEを使用しています.今、私の要件は、フォームの検証を実行したいということです.私は春に慣れていないので、実行方法がわからず、グーグルで検索しました.その後、休止状態を使用して解決策を見つけました-フォームにデータを入力するたびに、SampleCommand という名前の 1 つのエンティティ クラスにデータが保存され、このクラスには 5 つのフィールドがあります。まず、1 つのフィールドに検証を適用しようとしています。として与えた
@NotNull(message = "The above field must not be blank.")
private Integer sourceId;
以下はコントローラークラスのコードです
public ModelAndView processForm(@ModelAttribute("reports") @Valid ReportsCommand model, ModelAndView modelAndView,BindingResult result,
HttpServletRequest request, HttpServletResponse response) throws Exception {
if (result.hasErrors()) {
return new ModelAndView(new RedirectView("../pages/report/main.jsp"));
}
else{
....
}
以下はそのフィールドのみのjspコードです。
<form id="report-generate-form" method="post" action="../../reports/html" target="newWindow">
<div class="form-row" style="">
<div class="label"><%=Msg.get(MsgEnum.SOURCE_CONFIG_NAME_LABEL)%><em>*</em>
</div>
<div class="form-row">
<select name="sourceId" id="source-dropdown" class="input-field-select mandatory constrained"
<select name="sourceName" id="source-dropdown"
class="input-field-select mandatory constrained"
constraints='{"fieldLabel":"Source Name","mustSelect":"true"}'>
<option value="-1">Select</option>
</select>
</div>
<div class="error-container">
<div class="error-img"></div>
<label class="error"></label>
</div>
<form:errors path="sourceId" cssClass="error" />
</div>
</form>
このように使用すると、アプリケーションは例外なく実行されますが、フォームに入力しているときに、その sourceId フィールドを見逃して送信ボタンをクリックします。その後、検証メッセージが表示されません。メッセージ。下手な英語でごめんなさい。