我正在使用带有注释的 Spring 验证机制。验证必须可在messages_en.properties
. 为此目的,服务password.min=4
于该文件中的条目。
如何根据messageSource
bean中的设置配置@Size验证器?
public class SubmitModel {
@Size(min = "#{new Integer(messageSource[login.ok])}") //does not work. @Size expects integer value
private String password;
}
豆配置:
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<value>lang\messages</value>
</property>
</bean>
我已经尝试配置静态常量,但这里再次需要一个常量表达式。仅供参考,需要这种机制来验证控制器中的传入请求:
@RequestMapping (value = "/device/{devicename}", method = RequestMethod.GET, produces="text/xml")
@ResponseBody
public String handleRequest(@PathVariable("devicename") String devicename, @Valid @ModelAttribute SubmitModel model, BindingResult errors) throws UCLoginException { ... }
密码必须长于login.ok
值的典型示例:http://my.domain.com:8080/submit/device/SPAxxxxx?name=adam&password=454321