C# MVC引导表单控件DropDownList for validation错误消息未显示
我正在使用MVC5,无法通过Bootsrap3获取DropDownList的MVC验证消息。我在stackoverflow上研究过类似的问题,但任何解决方案都适合我 我想从下拉列表中选择用户选项。如果他单击“提交”按钮,但未选择任何选项,他将收到验证错误消息。最初第一次加载页面时,选择的任何选项都是值为null的选项 型号: 控制器C# MVC引导表单控件DropDownList for validation错误消息未显示,c#,asp.net-mvc,twitter-bootstrap,razor,C#,Asp.net Mvc,Twitter Bootstrap,Razor,我正在使用MVC5,无法通过Bootsrap3获取DropDownList的MVC验证消息。我在stackoverflow上研究过类似的问题,但任何解决方案都适合我 我想从下拉列表中选择用户选项。如果他单击“提交”按钮,但未选择任何选项,他将收到验证错误消息。最初第一次加载页面时,选择的任何选项都是值为null的选项 型号: 控制器 当您在浏览器中打开它时,是否检查了包含错误的类?这可能是css问题。你是指Razor生成的html源代码:-Wybierz模型-好的,我已经找到了底部描述的问题所在
当您在浏览器中打开它时,是否检查了包含错误的类?这可能是css问题。你是指Razor生成的html源代码:-Wybierz模型-好的,我已经找到了底部描述的问题所在。但我仍然不知道这是错误的原因以及如何修复它。1您的布局包括重复的脚本删除前两个2$.html Wybierz Wersję-;不添加具有空值的选项-它需要是“`$.val.html-Wybierz-Wersję-”`3.如果form.Valid{$.post..{..};}
public class CarsPriceSearchViewModel
{
[Required(ErrorMessage = "Proszę wybrać markę"), Range(1, Int32.MaxValue)]
[Display(Name = "Marka")]
public int SelectedBrandId { get; set; }
public SelectList Brands { get; set;}
[Required(ErrorMessage = "Proszę wybrać model"), Range(1, Int32.MaxValue)]
[Display(Name = "Model")]
public int SelectedModelId { get; set; }
}
public ActionResult Index()
{
oSelectList = new List<SelectListItem>() {
new SelectListItem(){ Value="1", Text="Audi"},
new SelectListItem(){ Value="2", Text="BMW"}
};
oSearchViewModel.Brands = new SelectList(oSelectList, "Value", "Text");
return View(oSearchViewModel);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Search(CarsPriceSearchViewModel searchOptions)
{
if (ModelState.IsValid)
{
//TO sth
}
return View(searchOptions);
}
<div class="panel-body">
@using (Html.BeginForm("Search", "Home", FormMethod.Post, new { id = "SearchCarsOffersForm" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="row">
<div class="col-lg-2">
<div class="form-group">
@Html.LabelFor(m => m.SelectedBrandId)
@Html.DropDownListFor(m => m.SelectedBrandId,
Model.Brands,
"--Wybierz-Markę--",
new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.SelectedBrandId, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-lg-2">
<div class="form-group">
@Html.LabelFor(m => m.SelectedModelId)
@Html.DropDownListFor(m => m.SelectedModelId,
new SelectList(Enumerable.Empty<SelectListItem>(), "ModelId", "ModelName"),
"--Wybierz-Model--",
new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.SelectedModelId, "", new { @class = "text-danger" })
</div>
</div>
</div>
<div class="panel-footer">
<button type="submit" id="SearchCarsOffers" class="btn btn-outline btn-primary btn-lg btn-block">
Szukaj
</button>
</div>
}
</div>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
$("#SelectedBrandId").change(function (event) {
$.ajax({
url: "UsedCarsPriceChart/FillBrandModels/",
data: { id: $(this).val() /* add other additional parameters */ },
cache: false,
type: "POST",
dataType: "JSON",
success: function (models) {
$("#SelectedModelId").html(""); // clear before appending new list
$("#SelectedModelId").append(
$('<option></option>').html("--Wybierz-Model--"));
for (var i = 0; i < models.length; i++) {
var model = models[i];
$("#SelectedModelId").append(
$('<option></option>').val(model.ModelId).html(model.ModelName));
}
//The same statement as above
//$.each(models, function (i, model) {
// $("#SelectedModelId").append(
// $('<option></option>').val(model.ModelId).html(model.ModelName));
//});
$("#VersionModelId").html(""); // clear before appending new list
$("#VersionModelId").append(
$('<option></option>').html("--Wybierz-Wersję--"));
}
});
});
$("#SelectedModelId").change(function (event) {
$.ajax({
url: "UsedCarsPriceChart/FillVersionModel/",
data: { id: $(this).val() },
cache: false,
type: "POST",
dataType: "JSON",
success: function (models) {
$("#VersionModelId").html(""); // clear before appending new list
$("#VersionModelId").append(
$('<option></option>').html("--Wybierz-Wersję--"));
$.each(models, function (i, model) {
$("#VersionModelId").append(
$('<option></option>').val(model.VersionModelId).html(model.VersionModelName));
});
}
});
});