Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 组合框的Hibernate验证程序_Java_Hibernate_Validation_Hibernate Validator - Fatal编程技术网

Java 组合框的Hibernate验证程序

Java 组合框的Hibernate验证程序,java,hibernate,validation,hibernate-validator,Java,Hibernate,Validation,Hibernate Validator,如何验证jComboBox,以便用户选择除默认项以外的任何项 我需要检查用户是否没有选择任何项目。因此jComboBox值将为“请选择一个安全问题” 在我的模型课上 @NotEmpty(message="Please fill the username field!") public String getUsername() { return this.username; } public void setUsername(String username) { this.us

如何验证jComboBox,以便用户选择除默认项以外的任何项

我需要检查用户是否没有选择任何项目。因此jComboBox值将为“请选择一个安全问题”

在我的模型课上

@NotEmpty(message="Please fill the username field!")
public String getUsername() {
    return this.username;
}

public void setUsername(String username) {
    this.username = username;
}

@NotEmpty(message="Please fill the password field!")
public String getPassword() {
    return this.password;
}

public void setPassword(String password) {
    this.password = password;
}

public String getSeqQue() {
    return this.seqQue;
}

public void setSeqQue(String seqQue) {
    this.seqQue = seqQue;
}
要在getSeqQue()中添加什么hibernate验证器注释来验证我的jComboBox

要使用自定义消息验证JComboBox,只需创建自定义约束验证器

请参见以下示例:

MyModel.java

public class MyModel {

    @ValidComboBox //this is the annotation which validates your combo box
    private String question;

    //getter and setter
}
import javax.validation.*;
public class ComboBoxValidator implements ConstraintValidator<ValidComboBox, String> {

private String value;

@Override
public void initialize(ValidComboBox arg0) {
    this.value = arg0.value;

}

@Override
public boolean isValid(String question, ConstraintValidatorContext arg1) {
    if(question.equalsIgnoreCase(value)){
        return false;
    }
    return true;
}
}
validCompobox.java//注释

import java.lang.annotation.*;
import javax.validation.*;

@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = ComboBoxValidator.class)
@Documented
public @interface ValidComboBox {
String value = "Please select a security question";

String message() default "Please select a security question.";

Class<?>[]groups() default {};

Class<? extends Payload>[]payload() default {};
}
import java.lang.annotation.*;
导入javax.validation.*;
@目标({ElementType.METHOD,ElementType.FIELD,ElementType.ANNOTATION_TYPE})
@保留(RetentionPolicy.RUNTIME)
@约束(validatedBy=ComboBoxValidator.class)
@记录
public@interface有效邮箱{
String value=“请选择一个安全问题”;
字符串消息()默认值“请选择一个安全问题。”;
类[]组()默认值{};
等级
JComboBox<String> jComboBox = new JComboBox<>();
jComboBox.addItem("Please select a scurity question");
jComboBox.addItem("Question 1");
jComboBox.addItem("Question 2");
ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
Validator validator = validatorFactory.getValidator();

String question = jComboBox.getSelectedItem().toString();
MyModel model = new MyModel();
model.setQuestion(model);

Set<ConstraintViolation<MyModel>> constraintViolations = validator.validate(model);

if (!constraintViolations.isEmpty()) {
        String error = "";
        for (ConstraintViolation<MyModel> constraintViolation : constraintViolations) {
                error += constraintViolation.getMessage();
                JOptionPane.showMessageDialog(null, error);
        }
}