asp.net mvc 中至少应通过自定义验证检查一个单选按钮
At least one radio button should be checked through custom validation in asp.net mvc
我是 MVC 框架的新手。我有 2 个单选按钮,我希望至少选中一个。我想通过自定义验证来完成,需要帮助吗?
字段为"usWorkPermit":
我的查看代码:
Do you have US Work Visa ?
@Html.RadioButtonFor(m => m.usWorkPermit,"True") Yes I have
@Html.RadioButtonFor(m => m.usWorkPermit, "False") No I don't
我的型号代码:
[UsWorkPermitValidation]
public Boolean usWorkPermit { get; set; }
我的控制器代码:
[HttpPost]
public ActionResult Index(Models.JobApplication jobApplication)
{
if (ModelState.IsValid)
{
}
return View();
}
我创建了不完整的自定义验证器。我想问一下如何强制选中至少一个单选按钮??
public class UsWorkPermitValidation : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
// check at least one radio button is checked.
}
}
如何获取自定义验证器上每个单选按钮的值?如果我知道那么我可以轻松地进行检查??
你可以试试这个,对我有用
@Html.RadioButtonFor(m => m.usWorkPermit, true , new {@required = "true"}) //Yes I have
@Html.RadioButtonFor(m => m.usWorkPermit, false) //No I don't
根据我的说法,不需要为此使用自定义验证器
为什么要浪费时间,因为人们已经浪费了时间来让这对我们来说变得容易。尝试改用不引人注目的 js。
class UsWorkPermitValidation
{
[Required(ErrorMessage = "Your error message")]
public Boolean usWorkPermit { get; set; }
}
在你的view.cshtml
@Html.Label("Yes, I've")
@Html.RadioButtonFor(model => model.usWorkPermit, "Yes")
@Html.Label("No, I don't Have")
@Html.RadioButtonFor(model => model.usWorkPermit, "No")
并在 bundle/current 视图中添加以下 jquery 脚本文件的引用。
<script src="~/Scripts/jquery-3.1.1.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
这是它的快照 运行。
我是 MVC 框架的新手。我有 2 个单选按钮,我希望至少选中一个。我想通过自定义验证来完成,需要帮助吗?
字段为"usWorkPermit":
我的查看代码:
Do you have US Work Visa ?
@Html.RadioButtonFor(m => m.usWorkPermit,"True") Yes I have
@Html.RadioButtonFor(m => m.usWorkPermit, "False") No I don't
我的型号代码:
[UsWorkPermitValidation]
public Boolean usWorkPermit { get; set; }
我的控制器代码:
[HttpPost]
public ActionResult Index(Models.JobApplication jobApplication)
{
if (ModelState.IsValid)
{
}
return View();
}
我创建了不完整的自定义验证器。我想问一下如何强制选中至少一个单选按钮??
public class UsWorkPermitValidation : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
// check at least one radio button is checked.
}
}
如何获取自定义验证器上每个单选按钮的值?如果我知道那么我可以轻松地进行检查??
你可以试试这个,对我有用
@Html.RadioButtonFor(m => m.usWorkPermit, true , new {@required = "true"}) //Yes I have
@Html.RadioButtonFor(m => m.usWorkPermit, false) //No I don't
根据我的说法,不需要为此使用自定义验证器
为什么要浪费时间,因为人们已经浪费了时间来让这对我们来说变得容易。尝试改用不引人注目的 js。
class UsWorkPermitValidation
{
[Required(ErrorMessage = "Your error message")]
public Boolean usWorkPermit { get; set; }
}
在你的view.cshtml
@Html.Label("Yes, I've")
@Html.RadioButtonFor(model => model.usWorkPermit, "Yes")
@Html.Label("No, I don't Have")
@Html.RadioButtonFor(model => model.usWorkPermit, "No")
并在 bundle/current 视图中添加以下 jquery 脚本文件的引用。
<script src="~/Scripts/jquery-3.1.1.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
这是它的快照 运行。