XPages:已禁用 属性 中断了 xp:inputText 所需的计算

XPages: disabled property breaks required computation for xp:inputText

在我的应用程序中,我有一个 xp:inputText 控件,禁用的 属性 设置为 true,所需的 属性 计算如下:

<xp:inputText 
    id="txtSecurityLevel"
    styleClass="form-control-static"
    value="#{employeeBean.employee.securityLvl}" 
    disabled="true" 
    >
    <xp:this.validators>
        <xp:validateRequired
            message="Unsufficient level of security">
        </xp:validateRequired>
    </xp:this.validators>
    <xp:this.required><![CDATA[#{javascript:return submittedBy("btnProceed")}]]></xp:this.required>
</xp:inputText>

该字段的值是预先填充的,我不希望用户更改该值。

当我对其他 inputText 控件使用相同的方法但将禁用 属性 设置为 false 时,将对这些字段启动验证。

我应该使用另一种方法吗?

要使字段不可编辑,请使用 readonly 属性。

Internet Explorer 过去允许 disabledreadonly 属性 可互换。但是在 IE10 中,他们改变了行为,因此 disabled 像在其他浏览器中一样工作,即值不会从浏览器传递到服务器。因为它没有从浏览器传回,所以您的验证失败。 disabled 用于浏览器不可用的输入,请参阅 https://www.w3schools.com/Tags/att_input_disabled.asp。你想要的是它对用户是只读的。