当我有数组属性时,如何验证我的模型?

时间:2016-08-22 16:53:32

标签: javascript c# asp.net-mvc asp.net-mvc-4

我在MVC中有一个带有数组属性的类

public class MyClass
{
    public int Contrato_Id { get; set; }
    public string Contrato { get; set; }
    public int Torre_Id { get; set; }
    public string Torre { get; set; }
    public SkillsATB[] Skills { get; set; }
}

当我通过jquery ajax执行POST时,我的ModelState验证始终为false

 if (ModelState.IsValid)
 {
    var _current = _Service.Insert(current);
    return Json(new { result = "success", resultValue = "" });
 }

debuggin image here here

属性SkillsATB没关系,它有元素,但我想我错过了那个数组的东西。

function ConvertToSkillsObject(id, name) {
    var skill = {
        Id: Math.round(id),
        Nombre: name,
        Descripcion: "",
        Activo: "1",
        Asignada: 1
    }

    return skill;
}

function GetSkillsAsignados() {
    var asignados = [];

    $("#sortable2").children().each(function () {
        var item = ConvertToSkillsObject($(this).attr("data-id"), $(this).html())
        asignados.push(item);
    });

    return asignados;
}
var MyClass= {        
        Correo: $('#correo').val(),
        CorreoLider: $('#correoLider').val(),
        CorreoLiderBSD: $('#correoLiderBSD').val(),
        FechaNacio: $('#fechaNacio').val(),
        Contrato_Id: $('#contrato_Id').val(),
        Torre_Id: $('#torre_Id').val(),
        Skills: GetSkillsAsignados()
};

$.ajax({
    url: "../../MyController/Save",
    type: "POST",
    data: JSON.stringify(MyClass),
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function (e) {
... //more javascript

2 个答案:

答案 0 :(得分:0)

在验证之前从模型中删除属性:ModelState.Remove("Skills");

答案 1 :(得分:0)

解决

问题出在一个日期选择器CSS中,格式日期出了问题。

之前没有任何关系