XPages上的文件验证

XPages上的文件验证,xpages,lotus-notes,Xpages,Lotus Notes,我正在XPages中开发应用程序,需要在服务器端进行文件上传验证。 我读到文件上传只在客户端工作,所以我尝试验证另一个存储附加文件名的文件。我是在文件上传的更改事件中做的。当我删除一个附加文件时会出现问题-在文件下载控制上没有更改事件…有什么建议吗?或者不同的方式? 谢谢可以从数据源的getAttachmentList(“RTFieldName”)方法访问未保存的附件列表 我建议使用隐藏输入和自定义验证器来进行更多控制,如: <xp:message id="message1"

我正在XPages中开发应用程序,需要在服务器端进行文件上传验证。 我读到文件上传只在客户端工作,所以我尝试验证另一个存储附加文件名的文件。我是在文件上传的更改事件中做的。当我删除一个附加文件时会出现问题-在文件下载控制上没有更改事件…有什么建议吗?或者不同的方式?
谢谢

可以从数据源的
getAttachmentList(“RTFieldName”)
方法访问未保存的附件列表

我建议使用隐藏输入和自定义验证器来进行更多控制,如:

<xp:message
    id="message1"
    for="inputHidden1"></xp:message>
<xp:br></xp:br>
<xp:inputHidden
    id="inputHidden1"
    value="arbitrary">
    <xp:this.validators>
        <xp:customValidator>
            <xp:this.validate><![CDATA[{javascript:
     // RTField the name of the rich text field that holds attachments
   if(document1.getAttachmentList("RTField").size()==0) {
      // You might want to do more checks here.
      var inputHidden1 = getComponent("inputHidden1");
      inputHidden1.setValid(false);
      return "You have to upload a file!" // your error message
}}]]></xp:this.validate>
        </xp:customValidator>
    </xp:this.validators>
</xp:inputHidden>


请记住,
value=“任意”
非常重要。空字段不会触发自定义验证器。

可以从数据源的
getAttachmentList(“RTFieldName”)
方法访问未保存的附件列表

我建议使用隐藏输入和自定义验证器来进行更多控制,如:

<xp:message
    id="message1"
    for="inputHidden1"></xp:message>
<xp:br></xp:br>
<xp:inputHidden
    id="inputHidden1"
    value="arbitrary">
    <xp:this.validators>
        <xp:customValidator>
            <xp:this.validate><![CDATA[{javascript:
     // RTField the name of the rich text field that holds attachments
   if(document1.getAttachmentList("RTField").size()==0) {
      // You might want to do more checks here.
      var inputHidden1 = getComponent("inputHidden1");
      inputHidden1.setValid(false);
      return "You have to upload a file!" // your error message
}}]]></xp:this.validate>
        </xp:customValidator>
    </xp:this.validators>
</xp:inputHidden>


请记住,
value=“任意”
非常重要。空字段不会触发自定义验证器。

可以从数据源的
getAttachmentList(“RTFieldName”)
方法访问未保存的附件列表

我建议使用隐藏输入和自定义验证器来进行更多控制,如:

<xp:message
    id="message1"
    for="inputHidden1"></xp:message>
<xp:br></xp:br>
<xp:inputHidden
    id="inputHidden1"
    value="arbitrary">
    <xp:this.validators>
        <xp:customValidator>
            <xp:this.validate><![CDATA[{javascript:
     // RTField the name of the rich text field that holds attachments
   if(document1.getAttachmentList("RTField").size()==0) {
      // You might want to do more checks here.
      var inputHidden1 = getComponent("inputHidden1");
      inputHidden1.setValid(false);
      return "You have to upload a file!" // your error message
}}]]></xp:this.validate>
        </xp:customValidator>
    </xp:this.validators>
</xp:inputHidden>


请记住,
value=“任意”
非常重要。空字段不会触发自定义验证器。

可以从数据源的
getAttachmentList(“RTFieldName”)
方法访问未保存的附件列表

我建议使用隐藏输入和自定义验证器来进行更多控制,如:

<xp:message
    id="message1"
    for="inputHidden1"></xp:message>
<xp:br></xp:br>
<xp:inputHidden
    id="inputHidden1"
    value="arbitrary">
    <xp:this.validators>
        <xp:customValidator>
            <xp:this.validate><![CDATA[{javascript:
     // RTField the name of the rich text field that holds attachments
   if(document1.getAttachmentList("RTField").size()==0) {
      // You might want to do more checks here.
      var inputHidden1 = getComponent("inputHidden1");
      inputHidden1.setValid(false);
      return "You have to upload a file!" // your error message
}}]]></xp:this.validate>
        </xp:customValidator>
    </xp:this.validators>
</xp:inputHidden>

请记住,
value=“任意”
非常重要。空字段不会触发自定义验证程序