我无法在视图上启用验证消息,因为我使用jquery来提交表单。
任何人都有想法使用jquery提交表单进行验证吗?
查看
@using (Html.BeginForm("Index", "Sample", FormMethod.Post, new{ id="frmStep1"}))
{
<div class="form-group">
<label>Question 1:<span class="text-danger">*</span></label>
<small class="text-danger">
<i> @Html.ValidationMessageFor(model => model.answer_01)</i>
</small>
<div class="radio">
<label>
@Html.RadioButtonFor(m=>m.answer_01,"2355")Male
</label>
</div>
<div class="radio">
<label>
@Html.RadioButtonFor(m=>m.answer_01,"2355")Male
</label>
</div>
</div>
<button class="btn btn-primary" type="button" id="btnStep1">
<span class="fa fa-arrow-circle-right">
</span> Save
</button>
}
脚本
$("#btnStep1").click(function () {
$.ajax({
url: "../Profile/Question",
type: "POST",
dataType: "json",
data: $("form#frmStep1").serialize(),
success: function(data) {
alert('Ok');
},
fail: function(data) {
console.log('failed to submit.');
}
});
});
控制器
[HttpPost]
public ActionResult Index(SampleViewModel model)
{
return Json("success",JsonRequestBehavior.AllowGet);
}
我不知道在用户无法输入某些文本时启用ViewModel上的验证器,请给出解决这些解决方案的一些想法。
答案 0 :(得分:0)
您可以在表单中指定您的操作名称和控制器名称,并将输入类型设置为“提交”,如下所示:
@using (Html.BeginForm("YourActionName", "YourControllerName", FormMethod.Post, new{ id="frmStep1"}))
{
<div class="form-group">
<label>Question 1:<span class="text-danger">*</span></label>
<small class="text-danger">
<i> @Html.ValidationMessageFor(model => model.answer_01)</i>
</small>
<div class="radio">
<label>
@Html.RadioButtonFor(m=>m.answer_01,"2355")Male
</label>
</div>
<div class="radio">
<label>
@Html.RadioButtonFor(m=>m.answer_01,"2355")Male
</label>
</div>
</div>
<input class="btn btn-primary" type="submit" value="Save" id="btnStep1" />
}