我有一个JSF页面,其中包含一个属性为required=true
和disabled
的元素,我想触发该特定元素的验证。我所做的是使用<h:commandButton>
提交它,在onclick事件中,我删除了disabled
属性,但在页面呈现后,验证错误没有显示。谁知道为什么?
<h:inputText id="myInput" required="true" disabled="disabled" />
<h:commandButton id="saveButton" action="#{myBean.saveDetail}">
<script type="text/javascript">
document.getElementById('saveButton').onclick = function() {
document.getElementById('myInput').removeAttribute('disabled');
}
</script>
答案 0 :(得分:1)
这里有几个问题:
1.在inputText上,disabled属性应该是布尔值。
2.Disabled属性表示:
表示此元素必须的标志 永远不会得到焦点或被包括在内 随后的提交。
因此没有验证器可以运行。
3.您无法在客户端更改h:inputText
的已禁用属性,如果可以的话,这将是JSF中的安全问题。