对jsf中经过验证的文本字段的操作

时间:2013-10-30 08:51:38

标签: jsf-2 primefaces

我正在使用Primefaces 3.5。我的.xhtml页面中有大约10个输入文本字段。少数文本字段是强制性的,属性为required="true"

我有一个搜索按钮,在数据表中显示数据库中的数据。我的页面的功能是通过on row select()搜索按钮的数据表中的数据将值插入这些字段。

此处的问题是数据正在插入使用红色边框突出显示的字段,即应用了验证的字段。

示例:

enter image description here

传输字段没有验证,但它具有必须插入的值。这些类型的事情发生在我的许多输入字段中。 请给我一些建议。

.xhtml文件是:

 <p:inputText id="email" value="#{addcust.c.email}" required="true"
  validatorMessage="Enter Valid Email">
          <f:validateRegex pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$"/></p:inputText>
<h:outputLabel value="Transport"></h:outputLabel>
 <p:inputText value="#{addcust.c.transport}"  </p:inputText>

    <p:commandButton value="add" type="submit" update=":form,:msg"   actionListener="#{addcust.onAddSelect}"</p:commandButton>
<p:commandButton value="Search" type="submit"  onclick="ser.show() "></p:commandButton>
<p:dialog id="dialog11" header=" Search" widgetVar="ser" resizable="false" showEffect="fade"
                                  hideEffect="explode" >
                            <p:dataTable id="dt" var="sd" value="#{addcust.al}" selection="#{addcust.c}">
<p:ajax event="rowSelect" update=":form" listener="#{addcust.onRowSelect}"
                                        oncomplete="ser.hide()"/>
 <p:column>
           <f:facet name="header">
                                        <h:outputText value="Email"/>
                                    </f:facet>
                                    <h:outputText value="#{sd.email}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Transport"/>
                                    </f:facet>
                                    <h:outputText value="#{sd.transport}"/>
                                </p:column>
                            </p:dataTable>

customerbean.java

public class customerbean {
  private String email;
 private String transport;

    public String getTransport() {
        return transport;
    }

    public void setTransport(String transport) {
        this.transport = transport;
    }
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

addcust.java

    public customerbean c = new customerbean();
    public ArrayList<customerbean> al;
   public void onAddSelect(){
   // Inserted my values into customer table.
}

     public void onSearchSelect() {
        try {
            st = con.createStatement();

            ResultSet rs = st.executeQuery("select * from customer where cmpid=" + getCurrcompanyid() + "");
            al = new ArrayList<customerbean>();
            while (rs.next()) {
                customerbean s = new customerbean();
                s.setEmail(rs.getString(1));
                s.setTransport(rs.getString(2));
            }
        } catch (Exception e) {
            System.out.println(e);
        }
    }
    public void onRowSelect(SelectEvent event) throws SQLException {
        customerbean r = (customerbean)event.getObject();
       c = r;
}

如果我不够清楚,请给我发表评论。谢谢阅读。

0 个答案:

没有答案