I have an inputtext, nothing fancy in it:
<ice:inputText value="Test" rendered="#{!element.flag}"
partialSubmit="true" >
<f:validateDoubleRange minimum="#{element.minimumValueNum}"
maximum="#{element.maximumValueNum}"/>
</ice:inputText>
element.minimumValue является двойным объектом, то же самое верно и для element.minimumValue, проблема заключается в том, что валидатор всегда думает, что я из диапазона (с любым заданным значением) ...JSF Validator: ValidateDoubleRange передал двойной объект, и я думаю, что я всегда вне диапазона. Зачем?
Если я даю конкретные значения:
<ice:inputText value="Test" rendered="#{!element.flag}"
partialSubmit="true" >
<f:validateDoubleRange minimum="10"
maximum="100"/>
</ice:inputText>
он работает как шарм:
Если я использую преобразование строки, также OK:
<ice:inputText value="Test" rendered="#{!element.flag}"
partialSubmit="true" >
<f:validateDoubleRange minimum="#{element.maximumValueNumString}"
maximum="#{element.maximumValueNumString}"/>
</ice:inputText>
В правильном Bean:
... public String getMaximumValueNumString() {
return maximumValueNum.toString();
}
public String getMinimumValueNumString() {
return minimumValueNum.toString();
}...
Так что я должен сделать вывод о том, что я не могу передать Двухместный объект в doubleRangeValidator, это правда?
Как инициализируются 'maximumValueNum' и' minimumValueNum' и какова область вашего компонента? – kolossus