我想知道是否可以在一个验证器失败时停止执行其他验证器?
我有一些豆子,像这样注释
import org.hibernate.validator.constraints.*;
/*...*/
@NotBlank(message = SignupForm.NOT_BLANK_MESSAGE)
@Email(message = SignupForm.EMAIL_MESSAGE)
private String email;
@NotBlank(message = SignupForm.NOT_BLANK_MESSAGE)
@Length(min = 6, message = SignupForm.PASSWORD_LENGTH_TOO_SHORT_MESSAGE)
private String password;
这是我的 JSP
<form:label path="email"><s:message code="email" /></form:label>
<form:errors path="email" element="div" class="text-error"/>
<form:input path="email" class="input-block-level" placeholder="Email address" />
<form:label path="email2"><s:message code="repeat_email" /></form:label>
<form:errors path="email2" element="div" class="text-error"/>
<form:input path="email2" class="input-block-level" placeholder="Email address" />
<form:label path="password"><s:message code="password" /></form:label>
<form:errors path="password" element="div" class="text-error"/>
<form:password path="password" class="input-block-level" placeholder="Password" />
<form:label path="password2"><s:message code="repeat_password" /> </form:label>
<form:errors path="password2" element="div" class="text-error"/>
<form:password path="password2" class="input-block-level" placeholder="Password" />
现在 - 在我的页面上,当我尝试提交空表单时,我得到
E-mail
The value may not be empty!
和
Password
Password must be at least 6 characters long
The value may not be empty!
对于password
字段,我从两个验证器中都收到错误 - 这是非常不可取的。如果是email
字段,我知道空字符串是有效的电子邮件地址(?!),这就是为什么我当时只收到一条消息。
那么是否可以按指定的顺序运行验证并在第一次失败后停止处理或仅获得第一条消息?