我对验证器有问题。验证工作正常,问题是当验证未完成时,我希望出现一条消息,告诉用户您必须添加数据。
这是代码
function showDialog()
{
var aplicacion=UiApp.createApplication();
aplicacion.setTitle("Informacion Clientes");
aplicacion.setHeight(300);
aplicacion.setWidth(500);
var grid=aplicacion.createGrid(8, 3);
//var panelVertical=aplicacion.createVerticalPanel();
//Codigo Cliente
var labelCodigo=aplicacion.createLabel("Codigo");
var TextBCodigo=aplicacion.createTextBox();
var msg1=aplicacion.createLabel("Ingrese un codigo").setId("msg1").setVisible(false).setStyleAttribute("color", "#F00");
TextBCodigo.setName("Codigo").setId("Codigo");
grid.setWidget(0, 0, labelCodigo);
grid.setWidget(0, 1, TextBCodigo);
grid.setWidget(0, 2, msg1);
//Nombre Cliente
var labelNombre=aplicacion.createLabel("Nombre");
var TextBNombre=aplicacion.createTextBox();
var msg2=aplicacion.createLabel("Ingrese un codigo").setId("msg2").setVisible(false).setStyleAttribute("color", "#F00");
TextBCodigo.setName("Nombre").setId("Nombre");
grid.setWidget(1, 0, labelNombre);
grid.setWidget(1, 1, TextBNombre);
grid.setWidget(1, 2, msg2);
//Direccion Cliente
var labelDireccion=aplicacion.createLabel("Direccion");
var TextBDireccion=aplicacion.createTextBox();
var msg3=aplicacion.createLabel("Ingrese una direccion").setId("msg3").setVisible(false).setStyleAttribute("color", "#F00");
TextBCodigo.setName("Direccion").setId("Direccion");
grid.setWidget(2, 0, labelDireccion);
grid.setWidget(2, 1, TextBDireccion);
grid.setWidget(2, 2, msg3);
//Telefono Cliente
var labelTelefono=aplicacion.createLabel("Telefono");
var TextBTelefono=aplicacion.createTextBox();
TextBCodigo.setName("Telefono").setId("Telefono");
grid.setWidget(3, 0, labelTelefono);
grid.setWidget(3, 1, TextBTelefono);
//Celular Cliente
var labelCelular=aplicacion.createLabel("Celular");
var TextBCelular=aplicacion.createTextBox();
TextBCodigo.setName("Celular").setId("Celular");
grid.setWidget(4, 0, labelCelular);
grid.setWidget(4, 1, TextBCelular);
//Contacto Cliente
var labelContacto=aplicacion.createLabel("Contacto");
var TextBContacto=aplicacion.createTextBox();
TextBCodigo.setName("Contacto").setId("Contacto");
grid.setWidget(5, 0, labelContacto);
grid.setWidget(5, 1, TextBContacto);
//Zona de Clientes
var comboZona = aplicacion.createListBox().setId('comboZona').setName('Zona');
var labelZona= aplicacion.createLabel("Zona");
agregarZonaCombo(comboZona);
grid.setWidget(6, 0, labelZona);
grid.setWidget(6, 1, comboZona);
var panel = aplicacion.createVerticalPanel();
panel.add(grid);
//El boton que le va a dar submit
var button=aplicacion.createButton('Submit').setId("button");
var labelHola=aplicacion.createLabel("Hello").setVisible(true).setId("hola");
var handler=aplicacion.createServerHandler("submitData").validateLength(TextBCodigo, 1, 5)
.validateLength(TextBNombre, 3, 20)
.validateLength(TextBDireccion, 5, 30);
handler.addCallbackElement(TextBCodigo)
.addCallbackElement(TextBNombre)
.addCallbackElement(TextBDireccion)
.addCallbackElement(TextBTelefono)
.addCallbackElement(TextBCelular)
.addCallbackElement(TextBContacto);
button.addClickHandler(handler);
panel.add(button);
panel.add(labelHola);
aplicacion.add(panel);
var doc=SpreadsheetApp.getActive();
doc.show(aplicacion);
}
function submitData(e)
{
var app=UiApp.getActiveApplication();
submitPage_(app);
return app;
}
我的函数 submitData 负责隐藏标签。但是我不知道调用新函数来设置true属性的事件名称是什么。