1.Textbox: 在使用 .validateNotNumber(TextBox) 时,TextBox 接受字母数字,应该不是这种情况,因为我只想在文本框 n nt 'abc1234' 中有 NAME,它只接受 'abcd'。此外,如果文本框仅使用 keyuphandler 处理 NUMBERS,则它只接受 '1234' n 而不是 'a1234',这是当前的行为。它接受'a1234'。意思是,第一个字符没有正确验证,如果我们输入'a',它不会验证,bt如果我们输入'a1234',它会在第一个数字之后正确验证,即它只在i / p之后抛出err NUMBER 类型的文本框区域中的第二个字符!
function doGet()
{
var app = UiApp.createApplication();
var panel = app.createVerticalPanel();
var grid = app.createGrid(11, 10).setId('maingrid');
var nameLabel = app.createLabel("Name:");
var nameTextBox = app.createTextBox().setName('name').setId('name');
var nameRequiredLabel = app.createLabel("*").setId('namerequired').setStyleAttribute("color", "red");
var requiredFieldLabel = app.createLabel("*-Required Field").setId('requiredfield').setStyleAttribute("color", "red");
grid.setWidget(0, 0, nameLabel).setWidget(0, 1, nameTextBox).setWidget(0, 2, nameRequiredLabel)
.setWidget(9, 2,requiredFieldLabel);
var invalidText=app.createClientHandler().validateNumber(nameTextBox)
.forTargets(nameTextBox).setStyleAttribute("color", "red")
.forTargets(nameRequiredLabel).setText('Please Enter a Valid Name.').setStyleAttribute("color", "red").setVisible(true);
var validText=app.createClientHandler().validateNotNumber(nameTextBox)
.forTargets(nameTextBox).setStyleAttribute("color","black")
.forTargets(nameRequiredLabel).setText('*').setStyleAttribute("color", "red").setVisible(true);
nameTextBox.addKeyUpHandler(invalidText).addKeyUpHandler(validText);
panel.add(grid);
app.add(panel);
return app;
}
注意:我也使用了 .validateInteger(TextBox) 和 .validateNotInteger(TextBox),但它也给出了与上面相同的 o/p(字母数字)。
2.DateBox: 它只接受DATES格式n shld nt可以在选择DATE后输入任何其他字符。例如。如果我选择 DATE '14-08-2012',它不会接受超出此长度的任何其他字符,例如 '14-08-2012abc123',实际上应该有一种方法来验证/限制该字段,如果它是任何 REAL DATE 格式 n nt 只是一个 DATE+TEXT。不小心,用户可能会在 DATE 框中输入任何不需要的文本,我们可能需要避免这种情况!我们可能需要一个 '.validateDateLength()' 来处理这个问题!
3.下拉框: 在任何给定的下拉框中,选项“SELECT”将成为第一个提示我们从我使用的下拉列表中选择所需选项的选项 .validateMatches("SELECT") 和 .validateNotMatches("SELECT "),检查用户是否选择了任何选项,这意味着我想确保用户已经从下拉框中选择了一些东西 n NT 刚刚离开选项未选择。顺便说一句,它似乎没有验证匹配。
4.复选框,单选按钮: 对于这两个控件,我只想确保用户选择了我的任何收音机或我的任何复选框,如果用户没有选择那些特定的收音机,控件将传递错误,说“请选择收音机/复选框选项以继续下一步”。这样做的正确方法是什么?
例如。脚本
var valid = app.createClientHandler()
.validateNumber(number)
.validateNotInteger(text)
.validateEmail(email)
.validateNotMatches(listbox, 'select')
.forTargets(submit).setEnabled(true)
.forTargets(number,text,email).setStyleAttribute("color","black")
.forTargets(numberrequired,textrequired,emailrequired).setText('*')
.setStyleAttribute("color","red").setVisible(true);
我将上面的代码用于“提交”按钮启用和禁用概念,在这本身中,列表框没有正确验证“选择”选项。
所以,基本上,我希望所有这些验证都能正常运行,所以我让我的“提交/保存”启用,直到我上面的所有控件都被检查/验证,这确保用户已经正确输入/选择了所有选项&是进入提交页面所需的格式。
希望我很清楚,请不要犹豫,问我是否在某个地方错了/不清楚!
请指导我,谢谢和问候,乔卡。