Xpages 组合框、单选按钮、常规按钮等的验证?
我在表单上使用ErrorMessage控件来验证编辑框之类的内容。效果很好。当需要输入数据时,会弹出小的灰色警报类型框 有人能给我举个例子,说明我如何对单选按钮、组合框等做同样的事情吗?甚至是一个常规按钮(比如我在表单上有一个添加文档按钮) 我真的不在乎信息是如何显示的。我只希望我的验证在所有组件的验证中保持一致。换句话说,我不需要一些服务器端和客户端验证Xpages 组合框、单选按钮、常规按钮等的验证?,xpages,Xpages,我在表单上使用ErrorMessage控件来验证编辑框之类的内容。效果很好。当需要输入数据时,会弹出小的灰色警报类型框 有人能给我举个例子,说明我如何对单选按钮、组合框等做同样的事情吗?甚至是一个常规按钮(比如我在表单上有一个添加文档按钮) 我真的不在乎信息是如何显示的。我只希望我的验证在所有组件的验证中保持一致。换句话说,我不需要一些服务器端和客户端验证 有什么例子吗?我一直在使用自己的ext-lib对话框进行验证,该对话框工作得很好,但我希望有更容易实现的东西。我一直在使用扩展版的。这使得您
有什么例子吗?我一直在使用自己的ext-lib对话框进行验证,该对话框工作得很好,但我希望有更容易实现的东西。我一直在使用扩展版的。这使得您可以在中央SSJS库中管理所有验证,然后在显示错误控件中显示所有错误 在中央SSJS库中,您可以验证您的控件,包括单选按钮、组合框等,并组合验证(例如,当另一个控件具有特定值时,检查一个控件的值) 下面是所提到的XSnippet上的一个示例baesd,用于验证当单选按钮组(radioField)的值为1时,某个字段(FieldA)是否已填充:
var radioVal = getComponent("radioField").value;
var control = getComponent("FieldA");
var val = control.getValue();
if (radioVal == "1" && isEmpty(val)){
valid = false;
postValidationError(control, "Please fill in ...");
}
我希望ErrorMessage控件指的是“显示错误”控件。对于“数据”中所有属性中的组合框,您将找到“验证器”。在这里,您可以像添加编辑框一样添加验证。对于组合框,我通常使用
validateExpression
。然后我使用“显示错误”控件来显示错误
<xp:comboBox id="comboBox1">
<xp:this.validators>
<xp:validateExpression message="Please select value in combo box.">
<xp:this.expression><![CDATA[#{javascript:!getComponent("comboBox1").getSubmittedValue().equalsIgnoreCase("Select")}]]></xp:this.expression>
</xp:validateExpression>
</xp:this.validators>
<xp:selectItem itemLabel="Select" itemValue="Select"></xp:selectItem>
<xp:selectItem itemLabel="1" itemValue="1"></xp:selectItem>
<xp:selectItem itemLabel="2" itemValue="2"></xp:selectItem>
<xp:selectItem itemLabel="3" itemValue="3"></xp:selectItem>
</xp:comboBox>
<xp:message id="message1" for="comboBox1"></xp:message>
在上面的示例中,如果用户未在组合框中选择任何项目,则会向用户显示错误消息。请注意,这是一个服务器端验证。我还没有尝试过其他控件,但它应该以类似的方式工作
如果我正确理解了你的问题,请告诉我
2013年2月7日更新:查看下面Mikael Grevsten的评论,了解更好的方法。能够使用@GetField和组名验证一组单选按钮 在本例中,组名为BankLoss:
// BankLoss
var radio1 = @GetField("BankLoss")
if (radio1 == null || radio1 == ""){
valid = false;
errors.push("Please indicate if there was a potential bank loss.");
}
为我工作…即使是最简单和直接的:如果您有一个选项,如“选择一个选项”并设置空值“”,您可以使用验证所需的,仅此而已。 例如: 如果组合框值为:
["-Select an option-|","Text1|Value1","Text2|Value2"]
正如@Naveen所说,你可以进入所有属性>数据>验证程序>+>验证要求>设置你的消息,你就完成了。我想你是说这个?我一直没能让它工作。有没有可行的例子?是的,这就是我在回答中提到的。我在几个应用程序中使用它,所以我有工作的例子。我让它工作,但我不喜欢它。它不会将焦点设置为正在验证的控件。还是我还在做错事?关键是要验证中央脚本库中的几个控件,然后在“显示错误”控件中显示所有失败控件的验证错误消息。如果要扩展“显示错误”功能,请查看以下内容:谢谢。这是一个很好的选择,但我想我会回到我最初的验证。我喜欢将焦点设置为出错的控件。您可以将“选择”选项的itemValue保留为空字符串,它将验证为空,并显示错误@米凯尔格雷夫斯滕:是的,这很有效。谢谢当我使用属性中的值选项卡在组合框中输入值时,生成的XPage代码是
,没有itemValue
属性。生成的HTML代码为Select
,因此我使用了validateExpression
。我可能应该更经常地查看XPage源代码:)很好!我通常在组合框中键入“*选择一个选项*”作为第一个条目,如果值为“0”,则会将源中的零删除。。。