以下是“创建”表单中多个输入之一的示例(注释value
为空)。在此上下文中,验证(query.validate.unobtrusive)按预期工作,要求用户填写必填字段以提交表单。
<div class="form-group">
<div class="col-sm-offset-1 col-sm-8">
<input class="form-control" id="LegalName" name="LegalName" type="text"
value="" placeholder="Business Legal Name"
data-val-required="Legal Name is required." data-val="true" />
<span class="field-validation-valid" data-valmsg-for="LegalName"
data-valmsg-replace="true"></span>
</div>
</div>
对于编辑表单,我使用相同的html,但使用其当前值预填充每个输入(在本例中为value="@Model.LegalName"
)
问题是,即使每个字段都预先填充了一个值,内置验证也会阻止提交表单,并抱怨所填写的字段尚未填写。
我想要的行为是:
对于Create case,表单验证感觉&#34;自动&#34;因为它只是做正确的事情。是否有类似的&#34;自动&#34;为Edit案例做这个的方法?或者我必须手动(通过编码规则)?
非常感谢, 埃里克
答案 0 :(得分:0)
没关系......我今天是个白痴。表单验证位工作得很好。这是模型绑定器的问题......叹息。
那就是说,所以你读这篇文章并不是完全浪费时间,这里有一个有用的金块。
此表单上使用的模型纯粹为了方便而包含一个具有几个自己的[Required]
属性的类。这些属性没有在编辑表单上显示,所以它们总是空着。
因此,这个故事的寓意是:小心使用[Required]
并同样小心你在视图模型中放置的内容。