I create a i/p form in google site using Apps Script and i did the validation using the Apps Script coding.
Validation functions available in Apps script is not satisfying all the possibility of checking the error.
function validate(e)
{
  var app = UiApp.getActiveApplication();
  var flag=0;
  var text = app.getElementById('name');
  var textrequired = app.getElementById('namerequired');
  var number = app.getElementById('number');
  var numberrequired = app.getElementById('numberrequired');
  var email = app.getElementById('email');
  var emailrequired = app.getElementById('emailrequired');
  var submit = app.getElementById('submit_button');
  var valid = app.createClientHandler()
      .validateNumber(number)
      .validateNotInteger(text)
      .validateEmail(email)
      .forTargets(submit).setEnabled(true)
      .forTargets(number,text,email).setStyleAttribute("color","black")
      .forTargets(numberrequired,textrequired,emailrequired).setText('*').setStyleAttribute("color", "red").setVisible(true);
  var invalidno = app.createClientHandler().validateNotNumber(number).validateMatches(number, '').forTargets(number).setStyleAttribute("color", "red").forTargets(submit).setEnabled(false).forTargets(numberrequired).setText('Please Enter a Valid No.').setStyleAttribute("color", "red").setVisible(true);
  var validno = app.createClientHandler().validateNumber(number).forTargets(number).setStyleAttribute("color","black").forTargets(numberrequired).setText('*').setStyleAttribute("color", "red").setVisible(true);
  var invalidText=app.createClientHandler().validateNumber(text).validateMatches(text, '').forTargets(text).setStyleAttribute("color", "red").forTargets(submit).setEnabled(false).forTargets(textrequired).setText('Please Enter a Valid Name.').setStyleAttribute("color", "red").setVisible(true);
  var validText=app.createClientHandler().validateNotNumber(text).forTargets(text).setStyleAttribute("color","black").forTargets(textrequired).setText('*').setStyleAttribute("color", "red").setVisible(true);
  var invalidemail=app.createClientHandler().validateNotEmail(email).validateMatches(email, '').forTargets(email).setStyleAttribute("color", "red").forTargets(submit).setEnabled(false).forTargets(emailrequired).setText('Please Enter a Valid Mail-Id.').setStyleAttribute("color", "red").setVisible(true);
  var validemail=app.createClientHandler().validateEmail(email).forTargets(email).setStyleAttribute("color","black").forTargets(emailrequired).setText('*').setStyleAttribute("color", "red").setVisible(true);
  number.addKeyPressHandler(invalidno).addKeyPressHandler(validno).addKeyPressHandler(valid).addKeyPressHandler(invalidText).addKeyPressHandler(invalidemail);
  text.addKeyPressHandler(invalidText).addKeyPressHandler(validText).addKeyPressHandler(valid).addKeyPressHandler(invalidno).addKeyPressHandler(invalidemail);
  email.addKeyPressHandler(invalidemail).addKeyPressHandler(validemail).addKeyPressHandler(valid).addKeyPressHandler(invalidno).addKeyPressHandler(invalidText);
  if (text == ''){flag = 1;}
  if (email == ''){flag = 1;}
  if (number == ''){flag = 1;}
  if(flag == 1){submit.setEnabled(false);}
  return app;
}
I just placed my Validation function using Apps Script. I don't know why its not satisfying all the possibilities of the validation.
And also i have to do is to enable the submit button after all the fields satisfy the validation. After once it enabled, if i make any error in any field it will not get disable correctly. I wrote the coding correctly i think so. Please take a look at my validation function and give me some suggestion to make it possible.
Please guide me,
Thanks & Regards,
chocka.