1

我正在使用休眠注释通过弹簧表单验证来验证该字段。

这是我的模型课:

     public class NewPasword {

      @NotEmpty(message="Please Provide Password")
      @Pattern(regexp = "^(?=.*?[A-Z])(?=.*?[0-9])(?=\\S+$).{8,}$", message = "{encryptedpassword.required}")
      @Size(min=8, max=19)   
      private String newPassword;

       ........

        .......
      }

这是我的 JSP;

  .....
    <div class="row">
                <form:input path="field" />
                <form:error path="field" />
    </div>
 .....

在执行所有验证消息时,不应该显示在前端。

任何人都可以建议我如何才能从 up 之前只获得一条验证消息。

比如:如果字段为空,那么消息应该只是“请输入字段”

如果字段与模式不匹配,则消息应仅为“请输入有效字段”

如果字段为 < 8 和 > 19,则消息应仅为“长度应在 8-19 之间”

如果需要更多信息,请询问。

4

1 回答 1

2

Group你可以用s 和 a来解决这个问题GroupSequence

@GroupSequence({ Step1.class, Step2.class, Step3.class })
public class NewPasword {

  public interface Step1 {}
  public interface Step2 {}
  public interface Step3 {}

  @NotEmpty(message="Please Provide Password",groups = Step1.class)
  @Pattern(regexp = "^(?=.*?[A-Z])(?=.*?[0-9])(?=\\S+$).{8,}$", message = "{encryptedpassword.required}", groups = Step2.class)
  @Size(min=8, max=19, groups = Step3.class)   
  private String newPassword;

  }

见参考:分组

于 2015-04-30T11:46:07.130 回答