2010-03-30 52 views
0

我有一個表單(在窗體中)填充單選按鈕(集合中每個值的按鈕)。如果集合是空的,表中沒有任何東西出現(這很好)。 (我正在使用Struts2)窗體上沒有字段的Jquery驗證

驗證用戶在單擊提交按鈕時選擇了其中一個單選按鈕時出現問題。我正在使用JQUERY驗證,並且它工作得很好,除非沒有單選按鈕可供選擇(集合爲空)。

$('#startProcessForm').validate({ 
    rules: { 
     selectedProcess: { 
      required: true 
     } 
    }, 
    messages: { 
     selectedProcess: "Please select a process to start." 
    } 
}); 

如果列表是空的,那麼沒有字段(單選按鈕或其他)名爲「selectedProcess」。所以我的問題是這樣的:

我該如何讓「selectedProcess」存在,並且如果集合中沒有任何內容,就不能通過'required:true'驗證?

我在想如果集合是空的,我可以創建一個同名的空標籤(selectedProcess)?這是我猜想會工作,但似乎並不:

<s:if test="processes != null && !processes.isEmpty()"> 
    <s:iterator value="processes" status="processesStatus"> 
     <tr> 
      <td><s:radio name="selectedProcess" list="{name}"></s:radio></td> 
     </tr> 
    </s:iterator> 
</s:if> 
<s:else> 
    <tr> 
     <td><a name="selectedProcess"></a></td> 
    </tr> 
</s:else> 

謝謝!

回答

2

,你可以做<input type="hidden" name="selectedProcess" value="-1">如果沒有值(而不是你的<a name>

+0

大 - 謝謝!不幸的是,雖然-1作爲一個值並沒有失敗的驗證。但是,我剛剛嘗試[value =「」],並且它工作得很好。 謝謝oedo! – jcovert 2010-03-30 16:12:54