Spring MVC非英文字符

时间:2015-10-11 03:24:53

标签: spring-mvc

目前我的网络应用程序(名称,地址等)接受英文和中文字符作为输入。如何限制某个特定字段(例如用户名字段)不接受非英文字符?

1 个答案:

答案 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)作为此后端验证的补充。