【发布时间】:2013-12-03 19:33:31
【问题描述】:
我一直在绞尽脑汁,但看不出这有什么问题。整个站点的验证工作正常,但不会因为这个输入而触发。我正在使用 .NET 4、MVC 4、EF 5、jQuery 1.8。有任何想法吗?
Schedule.cs
{
[MetadataType(typeof(ScheduleMetaData))]
public partial class Schedule
{
}
public class ScheduleMetaData
{
[RegularExpression(@"^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$", ErrorMessage = "Invalid hex color")]
[Required]
public string Color { get; set; }
}
}
Schedule.cs(由 EF 构建)
{
using System;
using System.Collections.Generic;
public partial class Schedule
{
public Schedule()
{
this.OriginDependency = new HashSet<Dependency>();
this.EndpointDependency = new HashSet<Dependency>();
}
public int ScheduleId { get; set; }
public string ScheduleName { get; set; }
public string Color { get; set; }
public virtual ICollection<Dependency> OriginDependency { get; set; }
public virtual ICollection<Dependency> EndpointDependency { get; set; }
}
}
Edit.cshtml
<div class="editor-label">
@Html.LabelFor(model => model.Color)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Color)
@Html.ValidationMessageFor(model => model.Color)
</div>
BundleConfig.cs (sn-p)
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*",
"~/Scripts/jquery.unobtrusive*"));
【问题讨论】:
-
Schedule.cs 代码周围的括号是什么?
-
什么是“这个输入”?
-
我的 Schedule.cs 代码周围的大括号是项目命名空间。我的输入控件是由@Html.EditorFor(model => model.Color) 生成的……它是一个文本框。
-
考虑检查输出 HTML/JavaScript 以确保生成的正则表达式及其周围的 if 语句看起来正确。
-
两个
Schedule类肯定在同一个命名空间中吗?
标签: c# jquery regex asp.net-mvc validation