2017-11-25 271 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 
相关问题