У меня есть следующие модели данных:mvc4 проверка частичный вид формы
public class Training
{
public Training()
{
this.ID = 0;
this.Name = null;
this.Instructor = null;
this.StartDate = DateTime.Now;
this.EndDate = DateTime.Now;
this.Time = null;
this.Duration = null;
}
public Training(int id, string name, string instructor, DateTime startdate, DateTime enddate, string time, string duration)
{
this.ID = id;
this.Name = name;
this.Instructor = instructor;
this.StartDate = startdate;
this.EndDate = enddate;
this.Time = time;
this.Duration = duration;
}
public Training(int id, string instructor)
{
this.ID = id;
this.Instructor = instructor;
}
public int ID { get; set; }
public string Name { get; set; }
public string Instructor { get; set; }
[DisplayFormat(DataFormatString = "{0:d MMM yyyy}")]
public DateTime StartDate { get; set; }
[DisplayFormat(DataFormatString = "{0:d MMM yyyy}")]
public DateTime EndDate { get; set; }
public string Time { get; set; }
public string Duration { get; set; }
}
Я следующий частичный вид называется "CreatePartialView.cshtml"
<table>
<tr>
<td></td>
<td>Training Name</td>
<td>
<input type="text" id="trainingname" /></td>
</tr>
<tr>
<td></td>
<td>Instructor Name</td>
<td>
<select id="selectInstructor">
<option selected="selected">Select Instructor</option>
</select>
</td>
</tr>
<tr>
<td></td>
<td>Select Time</td>
<td>
<input id="timepicker" />
</td>
</tr>
<tr>
<td></td>
<td>Start Date</td>
<td>
<input id="startdatepicker" />
</td>
</tr>
<tr>
<td></td>
<td>End Date</td>
<td>
<input id="enddatepicker" />
</td>
</tr>
<tr>
<td></td>
<td>Duration</td>
<td>
<input type="text" id="duration" /></td>
</tr>
<tr>
<td></td>
<td>
<input type="button" value="Submit" id="submit-button" class="btnStyleOne" />
</td>
</tr>
и я имеют нижеследующий код
$("#submit-button").click(function() {
// On submit button click close dialog box
$("#createForm").dialog("close");
//Set inserted values
var name = $("#trainingname").val();
var selectInstructor = $("#selectInstructor").val();
var startdatepicker = $("#startdatepicker").val();
var enddatepicker = $("#enddatepicker").val();
var timepicker = $("#timepicker").val();
var duration = $("#duration").val();
// Call Create action method
$.post('/Home/Create', { "name": name,
"instructor": selectInstructor, "startdate": startdatepicker,
"enddate": enddatepicker,
"time": timepicker, "duration": duration },
function() {
alert("data is posted successfully");
window.location.reload(true);
});
В HomeController мы вызываем метод InsertTraining() репозитория для сохранения данных в базе данных.
[HttpPost]
public void Create(Training training)
{
_trainingRepository.InsertTraining(training);
}
и перед cilcking на кнопку Submit-я должен проверить форму CreatePartialview.cshtml, как я могу это сделать?
Вам нужно создать частичный вид с сильно типизированных ViewModel с атрибутами валидации. Таким образом, вы также можете использовать стандартные помощники html Razor ('@ Html.TextBoxFor (m => m.Name)'), и вы можете добавить валидацию на стороне сервера/клиента на эту модель и сообщения проверки на ваш взгляд. – bump
спасибо за вашу беседу, но вот я не знаю, как проверить форму без использования строго типизированной viewmodel, ара там другое решение для моего дела, мне нужно больше объяснять :) – user3104968
+1 спасибо, что помогите мне, – user3104968