form.setUseAllDataSourceFields(true);
HeaderItem header = new HeaderItem();
header.setDefaultValue("Registration Form");
PasswordItem passwordItem = new PasswordItem();
passwordItem.setName("password");
PasswordItem passwordItem2 = new PasswordItem();
passwordItem2.setName("password2");
passwordItem2.setTitle("Password Again");
passwordItem2.setRequired(true);
passwordItem2.setLength(20);
MatchesFieldValidator matchesValidator = new MatchesFieldValidator();
matchesValidator.setOtherField("password");
matchesValidator.setErrorMessage("Passwords do not match");
passwordItem2.setValidators(matchesValidator);
CheckboxItem acceptItem = new CheckboxItem();
acceptItem.setName("acceptTerms");
acceptItem.setTitle("I accept the terms of use.");
acceptItem.setRequired(true);