Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Spring4.0中的动态验证

Spring4.0中的动态验证
EN

Stack Overflow用户
提问于 2016-10-03 03:18:18
回答 2查看 1.8K关注 0票数 2

我构建了Spring服务(Spring4.0和Java8),并且我有一个雇员REST服务,其中雇员类中有以下属性:名称、年龄、性别、薪资、指定、company_id、holiday_entitlement、manager_name & country。

我希望使用Spring4.0编写一个验证层,验证需要基于员工所在国家的动态

验证期望

  1. 雇员姓名、年龄、性别和国家是强制性的。
  2. 员工性行为必须是男性还是女性
  3. 雇员年龄不得大于70岁,不得少于18岁。
  4. 例如,如果该国是英国,则如果该国是美国,则休假权利不得大于25天;如果该国为西班牙,则休假权利不得大于20天;假期权利不得大于30天。
  5. 同样,如果这个国家是英国,那么它只能接受来自于英国的一个预定义的名称清单中的一个名称,对于其他国家也可以接受类似的方法。
  6. 如果提供了manager_name,那么我需要验证他是否是与员工相同的公司id的一部分。因此,我需要查找一些DAO来获取经理的公司ID。

问题

鉴于上述验证要求,我想了解Spring中是否有任何特定的类允许动态验证,例如基于国家的验证。

何时调用验证,立即将我的JSON在spring或服务层(类注释@Service)中转换为Java对象。

C.我应该在Employee中仍然使用spring验证JSR 303注释,还是应该在不同的类(尤其是对于强制属性)中进行验证?

EN

回答 2

Stack Overflow用户

发布于 2016-10-03 03:44:18

答:据我所知,在Spring中没有特殊的验证层,使用的是Hibernate作为参考实现的javax.validation。真正容易实现的是方法验证,例如,您可以查看https://github.com/flexguse/validation-violation-checker-demo

B:您可以使用@ validation注释直接在Controller方法中进行JSR303验证,但我更愿意在服务方法中进行验证,这样您就可以更好地控制在出现验证错误时响应什么->,参见https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc

C: JSR 303注释应该足够了,您需要创建自己的验证注释和验证实现,应该将其添加到Employee POJO ->中(参见https://softwarecave.org/2014/03/27/custom-bean-validation-constraints/ )。

不要忘记为验证编写JUnit测试!

票数 2
EN

Stack Overflow用户

发布于 2016-10-07 07:04:11

我不认为有一个特殊的验证层能够百分之百地响应您的需求,但例如,在Spring中,我们有一个验证器接口org.springFramework.validation.Validator

它使您可以动态定义规则,使用验证方法验证数据,并通过在控制器中创建绑定器和@Valid来调用数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39830349

复制
相关文章
如何在asp.net中动态生成验证码
现在越来越多的网站喜欢搞个验证码出来,而且各个语言基本上都能做到,今天我来一个C#写的!
Java架构师必看
2021/03/22
2.1K0
如何对动态创建控件进行验证以及在Ajax环境中的使用
首先给一个常规的动态创建控件,并进行验证的代码 [前端aspx代码] <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htm
菩提树下的杨过
2018/01/22
7.9K0
动态数据竞争验证方法(二)
之前提到的动态数据竞争验证方法尽管相比RaceFuzzer提高了验证的效率,但是仍然存在一个比较致命的问题就是执行程序一次只能够验证很少的一部分数据竞争。
chain
2018/06/12
4710
动态数据竞争验证方法(一)
动态数据竞争检测算法可以在不知道程序中是否存在数据竞争前提下执行,而动态数据竞争验证方法则是在知道程序中可能存在的数据竞争前提下,对这部分可疑的数据竞争进行验证,看这些数据竞争是否真的发生,同时也可以验证这些数据竞争是否对程序造成有害的影响。
chain
2018/06/12
7520
JMeter接口测试实战-动态数据验证
元宵节俗的形成有一个较长的过程,据一般的资料与民俗传说,正月十五在西汉已经受到重视,汉武帝正月上辛夜在甘泉宫祭祀“太一”的活动,被后人视作正月十五祭祀天神的先声。
louiezhou001
2019/07/25
1.4K0
JMeter接口测试实战-动态数据验证
SpringBoot 彩色动态验证码使用!
首先介绍一下开源验证码:EasyCaptcha,在Gitee中star达到1.5k,非常受大家欢迎。介绍中详细介绍了如何使用,上手简单,对于小白非常友好!如下图所示:
木字楠
2022/11/15
6220
SpringBoot 彩色动态验证码使用!
并行化的动态数据竞争验证和检测方法
之前系列提到的动态数据竞争验证和检测方法是结合了验证和检测两部分。这篇文章主要介绍一下并行化的动态数据竞争验证和检测方法。
chain
2018/06/12
9110
细数EDA动态仿真验证的七宗罪
令人意外的是,7nm->5nm->3nm->2nm,摩尔定律还在前进。但从验证的角度来看,这并非好事。
AsicWonder
2021/03/16
5330
细数EDA动态仿真验证的七宗罪
机器学习中的交叉验证
总第100篇 本篇讲讲机器学习中的交叉验证问题,并利用sklearn实现。 前言 在说交叉验证以前,我们先想一下我们在搭建模型时的关于数据切分的常规做法[直接利用train_test_split把所有的数据集分成两部分:train_data和test_data,先在train_data上进行训练,然后再在test_data上进行测试评估模型效果的好坏]。 因为我们训练模型时,不是直接把数丢进去就好了,而是需要对模型的不断进行调整(比如参数),使模型在测试集上的表现足够好,但是即使模型在测试集上效果好,不
张俊红
2018/04/11
1.9K0
机器学习中的交叉验证
Vue中的验证登录状态
然后下载axios:npm install axios --save,用来请求刚刚定义好的easy-mock接口:
九旬
2020/10/23
2.7K0
spring4.0 整合 Quartz 实现任务调度(一)
前言   项目需求:     二维码推送到一体机上,给学生签到扫描用。然后需要的是 上课前20分钟 ,幸好在帮带我的学长做 p2p 的时候,接触过。自然 quartz 是首选。所以我就配置了下,搞了个小样例给大家。 正文    spring4.0 整合 Quartz 实现任务调度。这是期末项目的最后一篇,剩下到暑假吧。 Quartz 介绍     Quartz is a full-featured, open source job scheduling service that can be integr
Java学习123
2018/05/16
5000
真正让你不再为自动化测试中的动态验证码而发愁!
1、一般登陆网站成功后,会生成一个已登录状态的cookie,那么只需要直接把这个值拿到,用selenium进行addCookie操作即可。
软件测试君
2023/09/14
3810
真正让你不再为自动化测试中的动态验证码而发愁!
TP6.0中的密码验证逻辑、验证器的使用
站长源码网 1. 场景一:只有一个密码框,并且是可选项,留空不修改密码,不留空则修改密码 2. 场景二:两个密码框,修改密码时有新密码、确认密码,新密码框不为空时,确认密码才验证 1. 场景一:只有一个密码框,并且是可选项,留空不修改密码,不留空则修改密码 ---- 编辑用户表单 <form action="" method="post"> 用户名 <input type="text" name="username" value="liang" readonly autocomplete="off"
很酷的站长
2023/02/17
1.7K0
TP6.0中的密码验证逻辑、验证器的使用
Java中的动态代理
Java中的代理方式主要分为两种,一种是基于接口的动态代理,另一种是基于类的动态代理,而基于接口的动态代理有JDK Proxy,基于类的动态代理主要有ASM、cglib,本文主要讲述的是JDK Proxy实现动态代理。
关忆北.
2021/12/07
4690
iOS本地动态验证码生成
@property (strong, nonatomic) NSArray *dataArray;//字符素材数组
conanma
2021/05/10
6450
vue动态生成表单_vue element 表单验证
前几天接了一个需求,需要动态生成一个表单数据,然后提交,提交完数据后。通过编辑按钮进入时,需要进行数据回填。
全栈程序员站长
2022/11/17
2.5K0
vue动态生成表单_vue element 表单验证
ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
在简单了解了Unobtrusive JavaScript形式的验证在jQuery中的编程方式之后,我们来介绍ASP.NET MVC是如何利用它实现客户端验证的。服务端验证最终实现在相应的ModelValidator中,而最终的验证规则定义在相应的ValidationAttribute中;而客户端验证规则通过HtmlHelper<TModel>相应的扩展方法(比如TextBoxFor、EditorFor和EdidtorForModel等)出现在生成的被验证HTML元素中。毫无疑问,服务端验证和客户端验证必须采
蒋金楠
2018/01/15
7.2K0
laravel 中数据验证
相关验证参考文档:https://blog.csdn.net/qq_35641923/article/details/79174555
句小芒
2022/12/29
1.2K0
爬虫异常处理:应对验证和动态加载数据的方法
作为一名专业的爬虫代理程序员,在爬取数据的过程中,我经常遇到验证和动态加载数据异常的问题。今天,我就和大家分享一些关于如何处理这两种异常情况的实用技巧。不论你是在爬取网站数据还是获取动态加载的内容,这些技巧都能帮助你更好地应对问题,让你的爬虫顺利运行。
华科云商小彭
2023/08/22
4040
爬虫异常处理:应对验证和动态加载数据的方法
点击加载更多

相似问题

Spring4.0缺少验证错误

20

使用AJAX的Spring4.0表单验证问题

12

JSR 303验证在Spring4.0中不起作用

23

身份验证和授权不适用于Spring4.0

10

spring4.0 websocket问题

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文