目前,我的网络应用程序(姓名、地址等)接受中英文字符作为输入。如何限制一个特定字段(例如用户名字段)不接受非英语字符?
发布于 2015-10-11 08:13:13
只需在该字段上添加正则表达式验证即可。例如,通过使用JSR 303验证:
public class User {
// Allow only ASCII letters, numbers, '-', '.' and '_'
@Pattern(regexp="^[a-zA-Z0-9-_\\.]+$")
private String username;
}然后,您将检查控制器中是否存在类似这样的错误。
@RequestMapping(value="/users", method=RequestMethod.POST)
public String createUser(@ModelAttribute("User") @Valid User user, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
// Invalid data entered ...
}
}您可以在参考指南中阅读更多关于Spring验证的内容。
如果要防止用户提交用户名包含无效字符的表单,请使用某些客户端验证库(例如http://jqueryvalidation.org/)作为后端验证的补充。
https://stackoverflow.com/questions/33061219
复制相似问题