Asp.net mvc mvc万无一失验证客户端脚本在表单提交后才显示
我在MVC 3中的一对问题上使用了万无一失。具体来说,我有一个文本区域的单选按钮,如果选择单选按钮“是”,则文本区域不能为空。我对一些字段进行了其他验证,使用常规的“Required”属性,这些属性可以正常工作,但是“RequiredIfTrue”属性在客户端不进行验证。因此,如果我填写所有字段以便它们进行验证,然后单击收音机上的“是”,但将相应的文本区域留空,然后提交,则表单将命中服务器而不是验证客户端。我还注意到,在浏览器中查看源代码时,“RequiredIfTrue”属性直到表单提交后才添加到HTML中 我正在为这个项目使用一个ViewModel,这似乎就是问题所在。当前属性位于模型中的属性上,然后我在ViewModel中引用该模型并将ViewModel传递给视图。但是如果我将属性直接放在ViewModel中,它会正常工作。我不想要ViewModel中的属性,因为我不需要向ViewModel添加某种映射代码,以便属性与正确的模型/表相关联吗 以下是项目中包含的脚本:Asp.net mvc mvc万无一失验证客户端脚本在表单提交后才显示,asp.net-mvc,Asp.net Mvc,我在MVC 3中的一对问题上使用了万无一失。具体来说,我有一个文本区域的单选按钮,如果选择单选按钮“是”,则文本区域不能为空。我对一些字段进行了其他验证,使用常规的“Required”属性,这些属性可以正常工作,但是“RequiredIfTrue”属性在客户端不进行验证。因此,如果我填写所有字段以便它们进行验证,然后单击收音机上的“是”,但将相应的文本区域留空,然后提交,则表单将命中服务器而不是验证客户端。我还注意到,在浏览器中查看源代码时,“RequiredIfTrue”属性直到表单提交后才添
<link href="@Url.Content("~/Content/mvc.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/jquery-ui-1.8.22.custom.css")" rel="Stylesheet"" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.22.custom.min.js")" type="text/javascript""></script>
<script src="@Url.Content("~/Scripts/HistoryArrayTables.js")" type="text/javascript""></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcValidation.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/mvcfoolproof.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MvcFoolproofJQueryValidation.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MvcFoolproofValidation.min.js")" type="text/javascript"></script>
这是ViewModel的一部分:
using Foolproof;
namespace EligibityForm.Models.CompositeModels
{
public class HistoryViewModel
{
public History HistoryModel { get; set; }
谢谢。将数据注释放在viewmodel上,它们就在那里。将数据注释放在viewmodel上,它们就在那里
using Foolproof;
namespace EligibityForm.Models.CompositeModels
{
public class HistoryViewModel
{
public History HistoryModel { get; set; }