目前我的网络应用程序(名称,地址等)接受英文和中文字符作为输入。如何限制某个特定字段(例如用户名字段)不接受非英文字符?
答案 0 :(得分:1)
只需在该字段上进行正则表达式验证即可。例如,通过使用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 ...
}
}
您可以在reference guide中阅读有关Spring MVC验证的更多信息。
如果您想阻止用户甚至提交用户名包含无效字符的表单,请使用一些客户端验证库(例如JQuery validation plugin)作为此后端验证的补充。