2017-11-25 153 views
-2

我有以下代碼(三個複選框):如何建立一個複選框,並需要經過一個或多個

@Html.CheckBoxFor(x => @Model.FirstSelected) @Html.Label("First:") 
@Html.CheckBoxFor(x => @Model.SecondSelected) @Html.Label("Second:") 
@Html.CheckBoxFor(x => @Model.ThirdSelected) @Html.Label("Third:") 

我需要驗證消息的檢查,以選擇一個或多個。

回答

0

如果你想在發佈前驗證這個,你可以使用javascript/jQuery。 在等形式添加onsubmit事件:

onsubmit = "return validateForm()" 

並使用像一個javascript:

(未測試)

<script type="text/javascript"> 
function validateForm() { 
    var FirstSelected = document.getElementById('FirstSelected'); 
    var SecondSelected = document.getElementById('SecondSelected'); 
    var ThirdSelected = document.getElementById('ThirdSelected'); 
    if (!FirstSelected.checked && !SecondSelected.checked && !ThirdSelected.checked) { 
     alert("Please choose one or more."); 
     return false; 
    } 
} 
</script> 

如果你想從控制器,那麼你會做做類似:

if (!yourmodel.FirstSelected && !yourmodel.SecondSelected && !yourmodel.ThirdSelected){ 
    //do your stuff here and return to the view 
    ViewBag.ErrorMessage = "Please choose one or more."; 
    return View(yourmodel); 
} 

在視圖中有地方展示

@ViewBag.ErrorMessage 
相關問題