前言
所谓表单验证,即校验用户提交的数据的合理性的,比如是否为空了,密码长度是否大于6位,是否是纯数字的,等等。spring boot是如何帮我们实现表单验证的呢?下面话不多说了,来一起看看详细的介绍吧。
假设现在我们存在这么一个注册界面:
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>hello spring boot</title> </head> <body> <form action="/doregister" method="post"> <p>姓名:<input type="text" name="username"/> </p> <p>密码:<input type="text" name="password"/> </p> <p><button>提交</button></p> </form> </body> </html>
需要验证提交上去的用户名,密码。是否为空,以及其他的一些问题。我们需要怎么做呢?
首先我们需要一个实体类:user类,存储表单提交上来的数据:
public class user { private int id; @notempty(message="用户名不能为空") private string username; @notempty(message="密码不能为空") @length(min=6, message="密码长度不能少于6位") private string password; public int getid() { return id; } public void setid(int id) { this.id = id; } public string getusername() { return username; } public void setusername(string username) { this.username = username; } public string getpassword() { return password; } public void setpassword(string password) { this.password = password; } }
使用@notempty,@length等注解,添加message的值,指示如果不符合的话,会得到什么message。
接下来编写controller类:使用@valid注解验证数据,并且使用bindingresult获取结果。
@controller public class formcontroller { @requestmapping(value="/register", method=requestmethod.get) public string register() { return "register"; } @requestmapping(value = "/doregister", method = requestmethod.post) public @responsebody user doregister(@valid user user, bindingresult result, model model) { if (result.haserrors()) { list<objecterror> list = result.getallerrors(); for (objecterror error : list) { system.out.println(error.getdefaultmessage()); } return null; } system.out.println("注册.."); return user; } }
这样就完成了一个简单的表单验证。
而除了@notempty,@length之外,还有很多其他的注解:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对移动技术网的支持。
如对本文有疑问, 点击进行留言回复!!
springcloud中feign调用处理mybatis-plus Ipage反序列化问题。
Flume 史上最全面的大数据学习第十篇(一) 别再说不知道flume是什么了
网友评论