2013-12-15 5 views
0

У меня есть следующие модели данных: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, как я могу это сделать?

+1

Вам нужно создать частичный вид с сильно типизированных ViewModel с атрибутами валидации. Таким образом, вы также можете использовать стандартные помощники html Razor ('@ Html.TextBoxFor (m => m.Name)'), и вы можете добавить валидацию на стороне сервера/клиента на эту модель и сообщения проверки на ваш взгляд. – bump

+0

спасибо за вашу беседу, но вот я не знаю, как проверить форму без использования строго типизированной viewmodel, ара там другое решение для моего дела, мне нужно больше объяснять :) – user3104968

+0

+1 спасибо, что помогите мне, – user3104968

ответ

0

Хорошо, есть много вещей, которые вы не затронули в своем проекте или не указали в своем вопросе. Ответ был бы слишком длинным, и я предложил бы прочитать учебник, а затем вернуться с более конкретными вопросами. Прочитайте это

http://msdn.microsoft.com/en-us/library/ee256141(v=vs.100).aspx

+0

спасибо i прочитает это сейчас – user3104968

Смежные вопросы