0
validation-api-1.0.0.GA.jar と hibernate-validator-4.1.0.Final.jar はクラスパスにあります。


mvc:annotation-driven は -servlet.xml ファイルにあります。

@RequestMapping(value = "/addEmployee", method = RequestMethod.POST) public ModelAndView addEmployee(@Valid EmployeeDTO employeeDTO, BindingResult result) {

   System.out.println("addEmployee employeeDTO! "+ employeeDTO);
       System.out.println("result.getErrorCount()  "+result.getErrorCount());

}

public class EmployeeDTO {

private int employeeId;
public int getEmployeeId() {
    return employeeId;
}


public void setEmployeeId(int employeeId) {
    this.employeeId = employeeId;
}

@NotNull
private String firstName;
@NotNull 
private String lastName;
private Date hireDate;

}

 in the console

 addEmployee employeeDTO! EmployeeDTO [employeeId=0, firstName=, lastName=, deptName=null, deptId=0, email=, salary=0, jobId=AD_VP, hireDate=null]
result.getErrorCount()  0
4

1 に答える 1

0

引用したコンソール メッセージによると、DTO は無効ではないようです。firstNameおよびフィールドは、 ;ではなく、lastName空の文字列として設定されているようです。したがって、検証で Bean を拒否する理由はありません。""null

空の入力フィールドを null としてバインド (および検証によって拒否) する場合は、バインダーにStringTrimmerEditorを登録できます。

于 2012-06-19T06:28:09.943 に答える