Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何创建带有验证文件的可选日期字段_C#_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 如何创建带有验证文件的可选日期字段

C# 如何创建带有验证文件的可选日期字段,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我正在尝试为我的字符串类型创建验证,并尝试在其上附加无结构的js文件,但仍然没有成功 代码如下: <input class="valid" data-val="true" data-val-date="The field @(Model.Attributes[i].AttributeDefinition.Name) must be a date." name="Attributes[@(i)].Value" type="text" value="@Model.Attributes[i].V

我正在尝试为我的字符串类型创建验证,并尝试在其上附加无结构的js文件,但仍然没有成功

代码如下:

<input class="valid" data-val="true" data-val-date="The field @(Model.Attributes[i].AttributeDefinition.Name) must be a date." name="Attributes[@(i)].Value" type="text" value="@Model.Attributes[i].Value">

<span class="field-validation-valid" data-valmsg-for="Attributes[@(i)].Value" data-valmsg-replace="true"></span>

它可以完美地工作并验证日期,但它不允许我输入空值。请帮忙

事实上,为什么数据val date会阻止保存可选值

以下是我的课程:

public class AttributeViewModel
{
    public string Value { get; set; }

    public bool IsNew { get; set; }
}

public class StudentViewModel : CurrentInfoViewModel
{
    public long ID { get; set; }

    public List<AttributeViewModel> Attributes { get; set; }

    public long? ImageId { get; set; }

}
公共类AttributeView模型
{
公共字符串值{get;set;}
公共bool是新的{get;set;}
}
公共类学生视图模型:CurrentInfoViewModel
{
公共长ID{get;set;}
公共列表属性{get;set;}
public long?ImageId{get;set;}
}

它工作正常。只是有人覆盖了验证器!$。validator.addMethod('date',函数(值,元素)。我删除了它,现在它可以工作了!非常感谢您的帮助,并对这个问题表示歉意

您是否有包含此属性的类的视图模型?抱歉,答复太慢。您可以发布视图模型代码吗?您的对象是DateTime还是DateTime?是该类型的一部分。它允许您的日期时间为空。我当然希望您能这样做'您没有将日期定义为
string
。您是如何进行验证的?