I have an issue with a required field of type: TimeItem if I don't edit the values (00:00). I get NULL values, although the fields are required and validation passes. This doesn't happen always, so click the button a few times and you will get the error described.
Using 6.0-p20160813 power
Operation is ok:
Operation fails:

Using 6.0-p20160813 power
Code:
public class TestingModule implements EntryPoint {
public void onModuleLoad() {
final DynamicForm df = new DynamicForm();
df.setDataSource("testTable");
TimeItem ti1 = new TimeItem("f_von");
ti1.setRequired(true);
ti1.setShowSecondItem(false);
ti1.setUse24HourTime(true);
ti1.setUseTextField(false);
TimeItem ti2 = new TimeItem("f_bis");
ti2.setRequired(true);
ti2.setShowSecondItem(false);
ti2.setUse24HourTime(true);
ti2.setUseTextField(false);
df.setFields(ti1, ti2);
IButton click = new IButton("click me");
click.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (df.validate()) {
df.saveData(new DSCallback() {
@Override
public void execute(DSResponse dsResponse, Object data, DSRequest dsRequest) {
df.clearValues();
df.setSaveOperationType(DSOperationType.ADD);
}
});
}
}
});
VLayout layout = new VLayout(10);
layout.addMembers(df, click);
layout.setWidth100();
layout.setHeight100();
layout.draw();
}
}
Code:
<DataSource ID="testTable" serverType="sql" tableName="testTable">
<fields>
<field name="f_id" type="sequence" primaryKey="true" />
<field name="f_von" type="time" />
<field name="f_bis" type="time" />
</fields>
</DataSource>
Code:
{
dataSource:"testTable",
operationType:"add",
componentId:"isc_DynamicForm_0",
data:{
f_von:"00:00:00.000",
f_bis:"00:00:00.000"
},
textMatchStyle:"exact",
callback:{
target:[DynamicForm ID:isc_DynamicForm_0],
methodName:"saveEditorReply"
},
showPrompt:true,
prompt:"Speichere Formulardaten...",
oldValues:{
},
requestId:"testTable$6270",
internalClientContext:{
},
fallbackToEval:false,
afterFlowCallback:"isc_DynamicForm_0.$49z(dsRequest, dsResponse, data)",
editor:[DynamicForm ID:isc_DynamicForm_0],
lastClientEventThreadCode:"MUP8",
bypassCache:true,
dataProtocol:"getParams"
}
Code:
{
dataSource:"testTable",
operationType:"add",
componentId:"isc_DynamicForm_0",
data:{
f_von:null,
f_bis:null
},
textMatchStyle:"exact",
callback:{
target:[DynamicForm ID:isc_DynamicForm_0],
methodName:"saveEditorReply"
},
showPrompt:true,
prompt:"Speichere Formulardaten...",
oldValues:{
},
requestId:"testTable$6271",
internalClientContext:{
},
fallbackToEval:false,
afterFlowCallback:"isc_DynamicForm_0.$49z(dsRequest, dsResponse, data)",
editor:[DynamicForm ID:isc_DynamicForm_0],
lastClientEventThreadCode:"MUP2",
bypassCache:true,
dataProtocol:"getParams"
}
Comment