Hello,
I've found a problem with validation errors when field is created as DataSourceEnumField and using `when` conditions.
See this test case:
Running this code and changing status field value creates multiple warnings in console:
When just changing DataSourceEnumField to DataSourceTextField all warnings disappear.
Best regards
Mariusz Goch
I've found a problem with validation errors when field is created as DataSourceEnumField and using `when` conditions.
See this test case:
Code:
DataSource ds = new DataSource(); ds.setClientOnly(true); DataSourceIntegerField fieldId = new DataSourceIntegerField("id"); fieldId.setPrimaryKey(true); ds.addField(fieldId); ds.addField(new DataSourceTextField("field1")); ds.addField(new DataSourceTextField("field2")); DataSourceEnumField fieldStatus = new DataSourceEnumField("status"); LinkedHashMap<String,String> map = new LinkedHashMap<String,String>(); map.put("new", "NEW"); map.put("progress", "Progress"); map.put("finished", "Finished"); map.put("canceled", "Canceled"); fieldStatus.setValueMap(map); // fieldStatus.setValueMap("new", "progress", "finished", "canceled"); ds.addField(fieldStatus); VLayout layout1 = new VLayout(5); layout1.setGroupTitle("vm1"); ValuesManager vm1 = new ValuesManager(); vm1.setDataSource(ds); DynamicForm form1 = new DynamicForm(); form1.setDataSource(ds); form1.setValuesManager(vm1); TextItem itemField1 = new TextItem("field1"); itemField1.setReadOnlyWhen(new AdvancedCriteria("status", OperatorId.IN_SET, new String[] {"finished", "canceled"})); SelectItem itemStatus = new SelectItem("status"); itemStatus.setRedrawOnChange(true); form1.setFields( new TextItem("id"), itemField1, itemStatus ); layout1.addMember(form1); DynamicForm form2 = new DynamicForm(); form2.setDataSource(ds); form2.setValuesManager(vm1); TextItem itemField2 = new TextItem("field2"); itemField2.setReadOnlyWhen(new AdvancedCriteria("status", OperatorId.IN_SET, new String[] {"finished", "canceled"})); form2.setFields( itemField2 ); layout1.addMember(form2); this.addChild(layout1);
Code:
TMR6:WARN:validation:isOneOf validator specified with no specified list of options or valueMap - validator will always fail. Field definition:null
Best regards
Mariusz Goch