#jquery #asp.net #asp.net-mvc-4 #validation
#jquery #asp.net #asp.net-mvc-4 #проверка
Вопрос:
я не смог включить сообщение о проверке при просмотре, потому что я использую 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 для активации, когда пользователь не может ввести какой-либо текст, пожалуйста, дайте какую-нибудь идею для решения этих проблем.
Комментарии:
1. Проверки модели работают после javascriptvalidations. Если вы хотите, чтобы ваши проверки модели работали, вам нужно принять тип ввода как submit ИЛИ вам нужно проверить каждое ваше поле в Javascript перед отправкой
Ответ №1:
Вы можете указать имя своего действия и имя контроллера в форме и принять тип ввода как «отправить», как указано ниже:
@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" />
}