C# 部分视图表单的mvc4验证

C# 部分视图表单的mvc4验证,c#,jquery,.net,ajax,asp.net-mvc-4,C#,Jquery,.net,Ajax,Asp.net Mvc 4,我有以下数据模型: 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;

我有以下数据模型:

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”的局部视图

在HomeController中,我们调用存储库的InsertTraining()方法将数据保存到数据库中

[HttpPost]
public void Create(Training training)
{
_trainingRepository.InsertTraining(training);
}


在点击submit按钮之前,我必须验证CreatePartialview.cshtml的表单,我该怎么做?

好的,您的项目中有很多内容没有涉及,或者您的问题中没有指定。答案太长了,我建议你先读一本教程,然后再回答一些更具体的问题。读这个


您需要使用具有验证属性的强类型viewmodel创建局部视图。通过这种方式,您也可以使用标准的Razor html帮助程序(
@html.TextBoxFor(m=>m.Name)
),您可以将服务器端/客户端验证添加到此模型,并将验证消息添加到视图中。感谢您的回复,但我不知道如何在不使用强类型viewmodel的情况下验证表单,如果我的案子还有其他解决办法,我需要更多的解释:)+1谢谢你,这对我有帮助,
$("#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);

     });
[HttpPost]
public void Create(Training training)
{
_trainingRepository.InsertTraining(training);