【发布时间】:2020-11-18 04:31:04
【问题描述】:
在此处查看我的代码笔: https://codepen.io/jquerypain121/pen/rNxgJgV
我正在尝试让表格中的字段在提交表单时也得到验证。
这只是我的 C# MVC 应用程序的快照。表中的字段是在我的视图中生成的,代码如下:
<td>
@Html.DropDownListFor(m => m.Patient.Right["Sph"], Model.Patient.Sph_Dropdownnlist, "Select", new { @class = "form-control list-question-select" })
</td>
即来自Dictionary<string,string> 属性
我必须修改什么才能让 jQuery 验证我的表格字段? 谢谢
编辑 - 我的 ViewModel 代码:
public class Patient
{
[DisplayName("First Name")]
[Required]
public string Pt_FirstName { get; set; }
[DisplayName("Postcode")]
[Required]
public string Pt_Postcode { get; set; }
[Required]
public Dictionary<string, string> pt_EyeDetailsRight { get; set; }
[Required]
public Dictionary<string, string> pt_EyeDetailsLeft { get; set; }
}
在我的控制器中的 Get Action 方法中,这些 Dictionary 属性被分配了如下键:
model.Patient.pt_EyeDetailsLeft = new Dictionary<string, string>
{
{ "VA", "" },
{ "Sph", "" },
};
model.Patient.pt_EyeDetailsRight = new Dictionary<string, string>
{
{ "VA", "" },
{ "Sph", "" },
};
然后将其发送到视图,该视图像我的 codepen 一样呈现为 Html。
【问题讨论】:
-
显示你的视图模型类。您是否在那边对下拉属性进行了验证?
-
添加了视图模型代码。我没有对那里的属性进行任何验证,我想我过去曾尝试过 [Required] 但没有效果。
-
您是否从 Jquery 添加了“不显眼的验证引用”?
-
在我的 _Layout.cshtml 中是的。代码笔是我的 View 的简化版,Unobtrusive 验证也不适用于表格字段。
-
尝试将不显眼的参考移到您的视图页面的顶部。还可以使用 mvc 助手,例如
@Html.DropDownListFor、@Html.ValidationMessageFor等。
标签: javascript jquery asp.net-mvc unobtrusive-validation