JSF生命周期(验证)

时间:2011-04-28 03:07:52

标签: java validation jsf lifecycle

我有一个JSF页面,其中包含一个属性为required=truedisabled的元素,我想触发该特定元素的验证。我所做的是使用<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>

1 个答案:

答案 0 :(得分:1)

这里有几个问题:

1.在inputText上,disabled属性应该是布尔值。

2.Disabled属性表示:

  

表示此元素必须的标志   永远不会得到焦点或被包括在内   随后的提交。

因此没有验证器可以运行。

3.您无法在客户端更改h:inputText的已禁用属性,如果可以的话,这将是JSF中的安全问题。