Пустая строка с несколькими пустыми задачами в JSF - SPRING - HIBERNATE - PullRequest
2 голосов
/ 24 ноября 2010

У меня есть простая проблема. Мне нужно отловить, когда пользователь вводит пустую строку в форму и отображает соответствующее сообщение об ошибке. Я пытаюсь с обязательным атрибутом jsf, но если пользователь вводит "" такую ​​строку, проверка проходит дальше без ошибок. Я пробовал Spring аннотации @NotNull и Hibernate @NotEmpty, но ничего не решило проблему. Есть идеи?

1 Ответ

2 голосов
/ 24 ноября 2010

Я не уверен насчет части Spring, но в Hibernate вы можете использовать аннотацию @NotBlank для этого:

@NotBlank
private String value;

Или вы можете создать конвертер JSF дляString.class который выполняет работу:

package com.example;

import javax.faces.component.EditableValueHolder;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

@FacesConverter(forClass=String.class)
public class EmptyToNullConverter implements Converter {

    public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
        if (value == null || value.trim().isEmpty()) {
            if (component instanceof EditableValueHolder) {
                ((EditableValueHolder) component).setSubmittedValue(null);
            }
            return null;
        }
        return value;
    }

    public String getAsString(FacesContext facesContext, UIComponent component, Object value) {
        return (value == null) ? null : value.toString();
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...