You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

EurekaFormoneditvalidation

Eureka是一个基于Spring Boot的管理后台框架。当使用Eureka Form进行编辑时,需要进行表单验证。可以通过以下示例代码来实现表单验证:

  1. 创建验证器

在这个例子中,我们创建了一个PersonValidator类,来验证表单中的Person对象,通过实现接口Validator<Person>,将验证器绑定到Person类上。

@Component
public class PersonValidator implements Validator<Person> {

    @Override
    public boolean supports(Class<?> clazz) {
        return Person.class.equals(clazz);
    }

    @Override
    public void validate(Person person, Errors errors) {
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName", "field.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "lastName", "field.required");
    }
}
  1. 使用验证器

Eureka Form中使用验证器,只需要在Controller中进行注入,并在处理编辑请求时使用validate方法。

@Controller
@RequestMapping("/person")
public class PersonController {

    @Autowired
    private PersonRepository personRepository;

    @Autowired
    private PersonValidator personValidator;

    @GetMapping("/edit")
    public String editPerson(@RequestParam("id") Long id, Model model) {
        Person person = personRepository.findById(id).orElse(null);
        model.addAttribute("person", person);
        return "person/edit";
    }

    @PostMapping("/edit")
    public String savePerson(@ModelAttribute("person") @Validated Person person, BindingResult bindingResult) {
        personValidator.validate(person, bindingResult);
        if (bindingResult.hasErrors()) {
            return "person/edit";
        }
        personRepository.save(person);
        return "redirect:/person/list";
    }
}

在这里,PersonController使用了@Validated注解,代表需要进行验证。并且在savePerson方法中,使用了personValidator.validate(person, bindingResult);来进行表单验证。如果有错误出现,会将错误信息传入BindingResult对象中,然后在结果中处理错误信息。

  1. 处理验证错误信息

Eureka Form中,我们可以将验证错误信息添加到表单中,让用户能够看到具体的错误信息。在以下代码中,我们使用了FieldError类来处理字段错误信息。

<form th:action="@{/person/edit}" th:object="${person}" method="post">
    <input type="hidden" th:field="*{id}">
    <input type="text" th:field="*
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

EurekaFormoneditvalidation -优选内容

EurekaFormoneditvalidation -相关内容

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询