<field property="absenceStartTime" depends="required,mask"> 
           <msg name="required" key="ERR_COM_REQUIRED"/>
               <arg0 name="required" key="ABSENCE_STARTTIME"/>
           <msg  name="mask" key="ABSENCE_STARTTIME_FORMAT"/>
           <arg0 name="mask" key="ABSENCE_STARTTIME_FORMAT"/>
           <var>
                    <var-name>mask</var-name>
               <var-value>^(((0?9)|(1[03-7])):[0-5][0-9])|(11:[0-2][0-9])|(12:[3-5][0-9])$</var-value>
             </var>
             <msg name="mask" key="TIME_FORMAT"/>
             <arg1 name="mask" key="TIME_FORMAT"/>
             <var>
                 <var-name>mask</var-name>
                 <var-value>^[^a-zA-Z]*$</var-value>
             </var>
   </field>....額   要求如果時間在范圍外是報錯key="ABSENCE_STARTTIME_FORMAT
如果不是時間則報    TIME_FORMAT
可我寫了以后分開來可以   連載一起就有一個會讀不出來  就是只能報一個
為什么啊   正確的怎么寫?

解决方案 »

  1.   

    第二个问题,我可以回答你的,把前面的0?去掉就可以了。第一个问题,我对Validator验证不是很熟悉。验证的表达式是写在var/var-value中吗?
      

  2.   

    <var-value>^[^a-zA-Z]*$</var-value>这个是判断什么的?
      

  3.   

    fields中depends只有一个mask,msg中可以有两个吗?
      

  4.   

    那個是判斷如果輸入字母  就報錯 說  請輸入正確的時間可以   只要 <msg name= key= />
              <arg0 name= key =/>
              <var>
              <>/var
        下面   <arg1 name= key = />  就行了
      

  5.   

    如果允许两个mask的话,把后面一个移到前面去,改为:<msg name="mask" key="TIME_FORMAT"/> 
    <arg1 name="mask" key="TIME_FORMAT"/> 
    <var> 
      <var-name>mask</var-name> 
      <var-value>^((1?[0-9])|(2[0-3])):[0-5][0-9]$</var-value> 
    </var>PS:arg1?那arg0是什么?
      

  6.   

    恩   試試看好了 
    arg0是這個  arg1是那個字目