我希望先用groups指定的注释。class一起激发,然后再进行second.class验证。我不明白为什么用组指定的验证没有被激发。
有人能给我指路吗。
@GroupSequence({MyForm.class, OrderedChecks.class})
public class MyForm {
@NotBlank
@Size(min = 2, max = 40)
@Pattern(regexp = "^[\\p{Alnum} ]+$", groups = First.class)
@UniqueName(groups = Second.class)//Custom validation
private String name;
@NotBlank
@Size(min = 2, max = 40)
private String url;
@NotBlank
@Size(max = 100)
private String imagePath;
//Custom Validation
@CheckContent(acceptedType = <someString>, allowedSize=<someval>, dimensions=<someval> groups = Second.class)
private MultipartFile image
...
}
@GroupSequence(value = {Default.class, First.class, Second.class})
public interface OrderedChecks {}
@Controller
@RequestMapping(value = "/myForm")
public class MyFormController {
@RequestMapping(method = POST)
public String completeSignUp(@Valid @ModelAttribute("myForm") final MyForm myForm,
BindingResult result, RedirectAttributes redirectAttributes, Model model) {
if(result.hasErrors()) {
model.addAttribute(companyDetailsForm);
//ERROR_VIEW="myForm";
return ERROR_VIEW;
}
// Doing something else.
return <success view>;
}
}
使用Spring的@validated
而不是@valided
。这将允许您指定组并控制序列。
将控制器方法更改为:
@RequestMapping(method = POST)
public String completeSignUp(@Validated(OrderedChecks.class) @ModelAttribute("myForm") final MyForm myForm,
BindingResult result, RedirectAttributes redirectAttributes, Model model) {
...
}
注意,在MyForm
bean之上不需要@groupsequence({myform.class,orderedchecks.class})
。
环境 Glassfish 3.1.2内置Hibernate-Validator 4.2。
我正在使用: PrimeFaces 6.1 JSF:2.2.10 javax.validation:1.1.0.final 验证程序IMPL:hibernate-validator 5.0.1.final GAE:1.9.52 以下是使用后端bean进行CSV(客户端验证)的示例:https://www.primefaces.org/showcase/ui/CSV/bean.xhtml 我现在得到
波姆。xml就是这样。在spring boot starter web中,它已经具有hibernate验证程序依赖性。 类请求 ################################################################################## 控制器 我错过什么了吗?验证不起作用。我是学习者。有人能帮我吗?
我有一个JSF2应用程序,但我无法对JSF ManagedBean属性进行@email验证。 这是我的堆栈: GlassFish 3.1.1 Mojarra 2.2.9/JSF 2.2 null 我的代码: 托管bean: 备注: null 谢谢你。
从上面的示例中我的理解是,如果我将传递给验证器,那么只有和用于和用于只被验证?(标有数字1、2、3) 我理解对了吗?我没有留下任何没有属性的字段。所以没有默认组。
我想验证社会安全号码是否存在于数据库中。这是我的验证器。 在Validator中,我有一个@EJB userDao,我有一个方法此方法: 但是当我执行此方法时,我有一个错误: 警告:StandardWrapperValve[面向Servlet]:PWC1406:Servlet。servlet Faces的service()servlet引发了异常java。pl.ePrzychodnia处的lang