Spring Boot框架-对模板类属性使用 @Min 实现表单验证

本文介绍了一种通过对象代替单个字符的方式进行数据验证的方法。利用Spring框架提供的注解如@Min等实现对年龄等字段的有效性检查,并通过BindingResult获取验证失败时的错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们怎么审核要存入的数据是符合要求的呢?
我们可以用对象来替代单个的字符

    /**
     * 添加一个女生
     * @return
     */
    @PostMapping(value = "girls")
    public Gril girlAdd(Gril girl){
        Gril gril = new Gril();
        gril.setCupSize(girl.getCupSzie());
        gril.setAge(girl.getAge());

        return girlRepository.save(gril);
    }

就像这样 同时我们可以在数据模板限制set条件,并返回信息。@Min 可以做到拦截小于18的value

    @Min(value = 18,message = "未成年禁止入内")
    private Integer age;

然后我们可以获取操作信息

    @PostMapping(value = "girls")
    public Gril girlAdd(@Valid Gril girl, BindingResult bindingResult){
        if(bindingResult.hasErrors()){
            System.out.println(bindingResult.getFieldError().getDefaultMessage());
            return null;
        }

这里给出一个简单的示例代码,实现了通过 Spring Boot 框架和 JPA 技术操作 Mysql 数据库,以及前端页面通过 AJAX 发送请求,实现修改用户信息的功能。 首先,在 pom.xml 文件中添加以下依赖: ```xml <dependencies> <!-- Spring Boot Web 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring Boot JPA 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- MySQL 驱动依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- Thymeleaf 模板引擎依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> </dependencies> ``` 接着,创建一个实体类 User,用于映射数据库中的用户表: ```java @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String name; private Integer age; private String email; // getter 和 setter 略 } ``` 然后,创建一个 UserRepository 接口,继承 JpaRepository 接口,用于操作数据库: ```java public interface UserRepository extends JpaRepository<User, Integer> { } ``` 接下来,创建一个 UserController 类,用于处理用户信息的增删改查: ```java @RestController @RequestMapping("/user") public class UserController { @Autowired private UserRepository userRepository; /** * 修改用户信息 */ @PostMapping("/edit") public Result edit(User user) { userRepository.save(user); return Result.success(); } } ``` 最后,创建一个前端页面,使用 AJAX 发送请求,实现修改用户信息的功能: ```html <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>修改用户信息</title> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> </head> <body> <form id="edit-form"> <input type="hidden" name="id" value="1"> <div> <label>姓名:</label> <input type="text" name="name" value="张三"> </div> <div> <label>年龄:</label> <input type="text" name="age" value="20"> </div> <div> <label>邮箱:</label> <input type="text" name="email" value="zhangsan@example.com"> </div> <div> <button type="button" onclick="submitForm()">提交</button> </div> </form> <script> function submitForm() { var formData = $('#edit-form').serialize(); $.ajax({ url: '/user/edit', type: 'POST', data: formData, success: function (result) { if (result.code === 0) { alert('修改成功'); } else { alert('修改失败'); } } }); } </script> </body> </html> ``` 这里使用 Thymeleaf 模板引擎生成了一个简单的 HTML 页面,包含一个表单,用户可以在表单中修改自己的信息。点击提交按钮时,通过 AJAX 发送 POST 请求到 UserController 中的 edit 方法,修改用户信息并返回修改结果。 以上就是一个简单的使用 Spring Boot 框架和 JPA 技术操作 Mysql 数据库,以及前端页面通过 AJAX 发送请求,实现修改用户信息的代码示例。实际开发中,可能还需要实现其他功能,例如查询用户信息、删除用户信息等,可以参考这个示例进行扩展。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值