0

我試圖避免設置一個默認的選定值,嘗試了幾個不同的選項。Bootstrap Radiobutton int jquery驗證

選項1

<div class="control-group"> 
    <h4>Text</h4> 
    <div class="controls"> 
     <div hidden="hidden" >@Html.EditorFor(m => m.pc.PS1)</div>        
     <div class="btn-group" data-toggle-name="pc.PS1" data-toggle="buttons-radio"> 
     <button type="button" value="11" class="[email protected]((Model.pc.PS1 == 11) ? " active" : string.Empty)" data-toggle="button">Yes</button> 
     <button type="button" value="12" class="[email protected]((Model.pc.PS1 == 12) ? " active" : string.Empty)" data-toggle="button">No</button> 
     <button type="button" value="13" class="[email protected]((Model.pc.PS1 == 13) ? " active" : string.Empty)" data-toggle="button">N/A</button> 
    </div> 
    @Html.ValidationMessageFor(model => model.pc.PS1) 
</div> 

選項2

<div class="control-group"> 
    <h4>Text</h4> 
    <div class="controls"> 
     @Html.HiddenFor(m => m.pc.F1FallsRiskAssessmentFRASE) 
     <div class="btn-group" data-toggle-name="pc.PS2" data-toggle="buttons-radio"> 
     <button type="button" value="11" class="[email protected]((Model.pc.PS2== 11) ? " active" : string.Empty)" data-toggle="button">Yes</button> 
     <button type="button" value="12" class="[email protected]((Model.pc.PS2== 12) ? " active" : string.Empty)" data-toggle="button">No</button> 
     <button type="button" value="13" class="[email protected]((Model.pc.PS2== 13) ? " active" : string.Empty)" data-toggle="button">N/A</button> 
     </div> 
     @Html.ValidationMessageFor(model => model.pc.PS2) 
     </div> 
</div> 

$('#ctFRM').validate({ 
      rules: { 
       "pc.PS1": { required: true, minlength: 2 }, 
       "pc_PS2": { required: true, minlength: 2 }, 

id爲隱藏在頁面上是pc_PS2但名稱pc.PS2使用螢火腳本選項卡,並把一個破發點上這表明當驗證是pc_PS2時默認值是0,但不管「要麼 」_」。

他們爲使用「。」的文本框輸入工作。在驗證規則和「_」上設置掩碼。

我曾嘗試使用每個值都爲1/2/3的單選按鈕所需的驗證,但由於頁面默認值爲0,因此它不會觸發所需的真實驗證。

接下來我嘗試將選項值設置爲11/12/13,因此它們的長度爲2,所以我可以使用minlength 2來防止提交,但是直到更改纔會啓動。

所以我留下了不顯眼驗證的備份選項,或者爲每個問題設置每個按鈕的onclick,希望獲得正常字符串所需的驗證以處理另一組隱藏值。

任何想法或解決方案?

+0

顯示_rendered_ HTML代碼。其次,在'.validate()'中聲明規則時,只能使用'name'屬性。第三,如果不設置「ignore:[]'」選項,則不能驗證隱藏字段。最後,你到處都是,我幾乎無法理解你想告訴我們什麼......你的問題到底是什麼? – Sparky 2013-03-01 16:50:53

+0

@Sparky我試圖展示所有不同的解決方案,我試圖在案件1被打破,但正確的1使用或至少顯示我試過了我能想到的一切,沒有運氣,無論如何,我的觀點是使用name屬性在瀏覽器中沒有獲得值,但是Id確實存在。我在這篇文章中的觀點是我想驗證使用int值的bootstrap單選按鈕,現在我將測試ignore選項並查看它是如何反應的。 – Myzifer 2013-03-04 09:32:34

+0

@Sparky把忽略選項固定它,所以如果你讓它成爲一個答案,我會打勾它正確的。 – Myzifer 2013-03-04 14:44:35

回答