XPages-禁用Dojo组合框的客户端验证

XPages-禁用Dojo组合框的客户端验证,dojo,xpages,Dojo,Xpages,我试图禁用Dojo组合框的客户端验证,但未成功。我添加了一个dojo属性“required”,并将其设置为false,但这仍然不起作用。我确实希望启用服务器端验证,这就是我设置required=“true”的原因。有人能看到下面的代码需要做什么更改吗 据我所知,您不能在Dojo表单控件上禁用客户端验证。Dojo是一个客户端框架,这些控件使实现Dojo版本更加容易。验证是Dojo客户端JavaScript代码的一部分,而不是来自XPages服务器端运行时的任何内容。因此,验证旨在运行客户端而不是服

我试图禁用Dojo组合框的客户端验证,但未成功。我添加了一个dojo属性“required”,并将其设置为false,但这仍然不起作用。我确实希望启用服务器端验证,这就是我设置required=“true”的原因。有人能看到下面的代码需要做什么更改吗


据我所知,您不能在Dojo表单控件上禁用客户端验证。Dojo是一个客户端框架,这些控件使实现Dojo版本更加容易。验证是Dojo客户端JavaScript代码的一部分,而不是来自XPages服务器端运行时的任何内容。因此,验证旨在运行客户端而不是服务器端

标准ComboBox控件将为您提供所需的内容。您可以通过使用FireBug等识别相关样式来重现Dojo版本的样式


另一个选项是在保存按钮中进行验证。有一个XSnippet可以帮助将控件标记为无效并发布到xp:messages或xp:message控件。但这不会给出Dojo错误样式,它也是Dojo代码的一部分,而不是XPages运行时的一部分。

尝试使用始终返回true的方法覆盖combobox的客户端验证公式:



绑定到什么?如果您将Dojo表单控件的required属性设置为false,客户端验证将被禁用。正如您在上面看到的,我确实将required属性设置为false,但没有达到预期的结果。@TonyGuiheen:不。在上面的代码中required设置为true,而不是false。非常感谢。这是一个非常好的解决方案。客户端验证已禁用,但服务器端验证继续工作。
<xe:djComboBox
    id="djComboBox1"
    required="true"
    validatorExt="return true;">
    <xp:selectItem itemLabel="" />
    <xp:selectItem itemLabel="Apples" />
    <xp:selectItem itemLabel="Oranges" />
    <xp:selectItem itemLabel="Pears" />
    <xp:selectItem itemLabel="Bananas" />
    <xp:selectItem itemLabel="Plums" />
</xe:djComboBox>