因此,我正在对其执行JSR-303 bean验证的类有两个字段,每个字段都应用了相同的模式约束:
@Column(name="test_suite_revision")
@XmlElement(name="test_suite_revision")
@NotNull
@Pattern(regexp = "\\d\\d-\\d\\d-\\d\\d\\d\\d", message = "value must be of the form xx-xx-xxxx")
private String revisionTestSuite;
@Column(name="test_revision")
@XmlElement(name="test_revision")
@NotNull
@Pattern(regexp = "\\d\\d-\\d\\d-\\d\\d\\d\\d", message = "value must be of the form xx-xx-xxxx")
private String revisionTest;
重要信息-此类不是经典Spring MVC webapp中的表单支持类,而是位于web服务基础上的实体类。因此,验证正在服务中进行。
现在,使用web服务的web客户端是一个Spring MVC,它有一个表单支持bean,该bean与jsp绑定,并带有放置错误消息的位置。
因此,假设用户在这两个字段中的一个字段中输入了格式不正确的字符串。我可以用这个非常标准的代码片段来捕获它
Set<ConstraintViolation<TestCase>> violations = validator.validate( permit);
if( !violations.isEmpty()) {
logger.debug( "basic validation FAILED with " + violations.size() + " errors");
Iterator<ConstraintViolation<TestCase>> iter = violations.iterator();
while( iter.hasNext()) {
ConstraintViolation<TestCase> cv = iter.next();
logger.debug( "invalidValue:" + cv.getInvalidValue());
logger.debug( "message:" + cv.getMessage());
ConstraintDescriptor<?> cd = cv.getConstraintDescriptor();
Map<String, Object> mapp = cd.getAttributes();
for( String keey : mapp.keySet()) {
logger.debug("mapp key:" + keey + ":" + mapp.get(keey));
}
上面写着
basic validation FAILED with 1 errors
invalidValue:050607
message:value must be of the form xx-xx-xxxx
mapp key:message:value must be of the form xx-xx-xxxx
mapp key:payload:[Ljava.lang.Class;@1367702
mapp key:flags:[Ljavax.validation.constraints.Pattern$Flag;@bf5210
mapp key:groups:[Ljava.lang.Class;@a49be5
mapp key:regexp:\d\d-\d\d-\d\d\d\d
问题是:如何找出哪个字段未通过验证?我似乎找不到从ConstraintViolation对象或ConstraintDescritpor对象中提取字段名“revisionTest”或“revisionTestSuite”的方法。
版本1.1.0中新增的getValidationApplicationTo()方法。javax的最终版本。验证api似乎很有前途,但到目前为止,该方法在运行时抛出了AbstractMethodError。呃。
TIA,
仍在学习Steve
请参阅ConstraintViolation#getPropertyPath方法:
/**
* @return the property path to the value from {@code rootBean}
*/
Path getPropertyPath();
路径。Node#getName
将为您提供属性名称。对于嵌套bean中的字段名称,您必须遍历路径。
您好,我在构建python映像时遇到问题 错误说, 但是当升级pip时,同样的错误显示。 错误:由于环境原因无法安装程序包错误:HTTPSConnectionPool(host='files.pythonhosted.org',port=443):url超过最大重试次数:/packages/ac/cf/0cc542fc93de2f3b9b53cb979c7d118cffb93204afb4629a
我有一个电子签名/数字签名的PDF,该文档在分离签名中使用iText lib进行签名。我在验证签名时遇到问题,收到消息“签名者身份无效,因为它已过期或尚未有效”,并且在签名者信息中“构建从签名者证书到颁发者证书的路径时出错。” 我尝试了很多方法来验证签名,但都没有成功。如果我明确地将签名者证书添加为可信证书,那么我会得到一个绿色检查,并能够验证签名,但我认为这不是正确的方法。 数字签名的pdf可以
我正在尝试使用python从web获取数据。我导入了urllib。请求包,但在执行时,我得到错误: 我正在Mac OS High Sierra上使用Python 3.7 当我将URL更改为“http”时,我能够获取数据。但是,我相信,这可以避免检查SSL证书。 因此,我在互联网上查找并找到了一个解决方案:运行 这解决了我的问题。但是我对SSL之类的东西一无所知。你能帮我理解它到底做了什么来解决我的
- 我运行了此脚本,但出现了此错误。我怎么做?
我正在使用Springboot和Thyemleaf,试图用javax验证我的表单数据。验证。约束注释。 在我的模板中,我使用了一个Thyem立夫命令对象,它是我的模型类。在模型中,我有一些经过验证的字段- 这是用于输入文本/标题的超文本标记语言- 以下是提交表单时endpoint的控制器- 在我的模板中,我可以提交表单,如果或为空并且插入了带有消息的新div,将返回字段错误。 我遇到字段列表问题