在Primefaces inputText required = true中,一旦输入内容,我该如何移除ui-state-error?

问题描述:

提交包含必需inputText的表单时,指示未验证字段的样式将保留原样,直到再次提交。编辑字段后,我希望样式消失。在Primefaces inputText required = true中,一旦输入内容,我该如何移除ui-state-error?

<p:inputText value="#{data.bezeichnung}" 
      id="bezeichnung" 
      styleClass="panelInputField input_mandatory" 
      required="true" 
      title="Bezeichnung"/> 

了很多努力各地后,我发现最简单的答案添加一个“的onkeyup”如下:

    <p:inputText value="#{data.bezeichnung}" id="bezeichnung" 
         styleClass="panelInputField input_mandatory" 
         required="true" 
         onkeyup="$(this).removeClass('ui-state-error');" 
         title="Bezeichnung"/> 

如果jQuery代码需要在更广泛的地方,以下可能也会起作用:(知道此处使用的转义码可能会有帮助)

onfocus="$('.ui-state-error').removeClass('ui-state-error');" 
    onkeyup="$('input[name=&quot;form:bezeichnung&quot;]').removeClass('ui-state-error');" 
    onkeyup="$('input[name$=bezeichnung]').removeClass('ui-state-error');"