Re: AutocompleteTextField on submit : The value of .. is not a valid ...

2016-10-30 Thread ndongo yaya
Hi,

I think that you're missing an instance variable "test" of type TestBean
inside your component. It's the variable that us used for the Property Model

Regards,
Yaya Ndongo

On Oct 27, 2016 16:16, "ganea iulia"  wrote:

> Hi,
>
> Please help me with following issue:
>
>
> I'm using wicket 7.
>
> I have a form with a AutocompleteTextField.
>
> The autocompletion works ok until I need to submit the form, when I get
> following message:
>
>
>- The value of 'test' is not a valid TestBean.
>
>
> Here is my component:
>
> IAutoCompleteRenderer testRenderer = new
> IAutoCompleteRenderer() {
>
> private static final long serialVersionUID = -7038764178796856779L;
>
> @Override
> public void render(TestBean object, Response response, String criteria) {
> response.write((new StringBuilder()).append(" idvalue=\"").append(object.getCod).append("\"
> textvalue=\"").append(object.getUniqueName()).append("\">").toString());
> response.write(object.getUniqueName());
> response.write("");
> }
>
> @Override
> public void renderFooter(Response response, int ItemId) {
> response.write("");
>
> }
>
> @Override
> public void renderHeader(Response response) {
> response.write("");
>
> }
>
> };
> AutoCompleteTextField txt = new
> AutoCompleteTextField("test", new PropertyModel(this,
> "myTestBean"), TestBean.class,
> testRenderer, (new AutoCompleteSettings().setPreselect(true))) {
>
> private static final long serialVersionUID = 1L;
> private List TestList = null;
>
> @Override
> protected Iterator getChoices(String input) {
> if (Strings.isEmpty(input)) {
> return Collections.emptyIterator();
> } else {
> if (input.length() > 0) {
> if (TestList == null || TestList.isEmpty() || !input.substring(0,
> 1).toUpperCase().equals(TestList.get(0).getUniqueName().substring(0,
> 1).toUpperCase())) {
> TestList =
> SpringCtx.getAppDB(TestBeanDao.class).selectAproxByUniqueName(input.
> substring(0,
> 1));
> }
> }
> }
>
> int autoCompleteFieldNumChoices = 20;
>
> List choices = new
> ArrayList(autoCompleteFieldNumChoices);
>
> for (int i = 0; i < TestList.size(); i++) {
> final TestBean testBean = TestList.get(i);
> final String testName = testBean.getUniqueName();
>
> if (testName.toUpperCase().startsWith(input.toUpperCase())) {
> choices.add(testBean);
> if (choices.size() == autoCompleteFieldNumChoices) {
> break;
> }
> }
> }
> return choices.iterator();
> }
> };
>


AutocompleteTextField on submit : The value of .. is not a valid ...

2016-10-27 Thread ganea iulia
Hi,

Please help me with following issue:


I'm using wicket 7.

I have a form with a AutocompleteTextField.

The autocompletion works ok until I need to submit the form, when I get
following message:


   - The value of 'test' is not a valid TestBean.


Here is my component:

IAutoCompleteRenderer testRenderer = new
IAutoCompleteRenderer() {

private static final long serialVersionUID = -7038764178796856779L;

@Override
public void render(TestBean object, Response response, String criteria) {
response.write((new StringBuilder()).append("").toString());
response.write(object.getUniqueName());
response.write("");
}

@Override
public void renderFooter(Response response, int ItemId) {
response.write("");

}

@Override
public void renderHeader(Response response) {
response.write("");

}

};
AutoCompleteTextField txt = new
AutoCompleteTextField("test", new PropertyModel(this,
"myTestBean"), TestBean.class,
testRenderer, (new AutoCompleteSettings().setPreselect(true))) {

private static final long serialVersionUID = 1L;
private List TestList = null;

@Override
protected Iterator getChoices(String input) {
if (Strings.isEmpty(input)) {
return Collections.emptyIterator();
} else {
if (input.length() > 0) {
if (TestList == null || TestList.isEmpty() || !input.substring(0,
1).toUpperCase().equals(TestList.get(0).getUniqueName().substring(0,
1).toUpperCase())) {
TestList =
SpringCtx.getAppDB(TestBeanDao.class).selectAproxByUniqueName(input.substring(0,
1));
}
}
}

int autoCompleteFieldNumChoices = 20;

List choices = new
ArrayList(autoCompleteFieldNumChoices);

for (int i = 0; i < TestList.size(); i++) {
final TestBean testBean = TestList.get(i);
final String testName = testBean.getUniqueName();

if (testName.toUpperCase().startsWith(input.toUpperCase())) {
choices.add(testBean);
if (choices.size() == autoCompleteFieldNumChoices) {
break;
}
}
}
return choices.iterator();
}
};