下面是一个示例解决方法,用于在ASP.NET MVC中对字符串数组进行“Required”验证的客户端验证。
在模型中,您可以使用[Required]
属性来标记字符串数组属性。然后,您可以使用客户端验证来确保至少有一个数组元素被选择。
public class YourModel
{
[Required(ErrorMessage = "Please select at least one option")]
public string[] SelectedOptions { get; set; }
}
在视图中,您可以使用下面的代码示例来生成客户端验证的脚本:
@model YourModel
@using (Html.BeginForm("YourAction", "YourController", FormMethod.Post))
{
@Html.LabelFor(m => m.SelectedOptions)
@Html.ListBoxFor(m => m.SelectedOptions, new SelectList(new List()), new { multiple = "multiple" })
@Html.ValidationMessageFor(m => m.SelectedOptions)
}
@section Scripts {
}
在这个示例中,我们使用ListBoxFor
来生成一个多选列表,并使用SelectList
来绑定数据。在脚本部分,我们添加了一个自定义验证适配器和方法,以及重置验证器的代码。
这个解决方法将在客户端验证中检查至少有一个选项被选择。如果没有选中任何选项,将显示一个验证错误消息。
请注意,为了使客户端验证起作用,您需要包含jquery.validate.min.js
和jquery.validate.unobtrusive.min.js
这两个库。