【发布时间】:2014-05-30 02:56:46
【问题描述】:
我目前正在处理一个可以包含多个子表单实例的表单。主条目“出版物表格”包含子页面“出版物”的多个实例。我正在使用 AJAX 执行此操作,每次用户单击“添加行”按钮时,他们都会获得一个从自定义视图调用的新子表单项。
现在,每次单击“添加行”按钮时,javascript 计数器都会递增,然后将该值发送到控制器,控制器将其放入 ViewBag 中,并将其发送到视图文件。对于要区别对待的每个项目,我使用这个 viewbag 计数器来增加它的名称和 ID,例如:
<input id="pubDetails@(ViewBag.Upto)" class="text-box single-line" type="text" value="" name="pubDetails@(ViewBag.Upto)" data-val-required="The Full Publication Details (Include ISBN, Web addresses etc) (include all authors) field is required." data-val="true">
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="PubDetails@(ViewBag.Upto)"></span>
此视图文件不是它自己表单的一部分,而是将字段传递到母版页的表单中。
现在的问题是客户端验证不适用于这些字段,因为我已经更改了它们的 ID!是否有某种方法可以指定哪些 ID 在默认值之外获得哪种验证?也许像
<input validationID="pubDetails">
或以任何方式将验证重新指向适当的字段 ID?
谢谢!
【问题讨论】:
-
$.validator.unobtrusive.parse("#ID"); -
谢谢!我在哪里添加此代码?这是否意味着要在我要验证的元素的每个 id 上运行,就像一个单独的 js 函数一样?谢谢!
标签: javascript asp.net asp.net-mvc validation client-side-validation