【发布时间】:2016-07-28 15:23:56
【问题描述】:
从我几年前创建的 HtmlHelpers 移出,我有一个自定义 Taghelper,在开发过程中标记为 so...
<gdropdown asp-for="Type_ID" asp-items="cboType_SelectOne"></gdropdown>
一切正常,输出如下...
<div>
<select id="Type_ID" name="Type_ID">
<option value=-1> - Select One - </option>
<option value=9>Aux. Ext. Device</option>
<option value=28>Backup Device</option>
...
</select>
</div>
现在我正在寻求帮助来制作我的 OWN 验证 SPAN 以添加到输出中,如下所示...
<div>
<select id="Type_ID" name="Type_ID">
<option value=-1> - Select One - </option>
<option value=9>Aux. Ext. Device</option>
<option value=28>Backup Device</option>
...
</select>
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="Type_ID">
<span for="Type_ID">Req!</span>
</span>
</div>
无论如何,我可以设法完成创建该 SPAN 的基础工作,但是我无法获得正在添加/编辑的字段的数据注释。
使用 HtmlHelpers 我可以按如下方式使用 htmlHelper.ValidationMessageFor() 来自动制作输出...
public static MvcHtmlString CustomLookupFor2<TModel, TValue>(this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, TValue>> exp, string url, bool includeValidation, object options)
{
...
if (includeValidation) sbCtrls.Append(htmlHelper.ValidationMessageFor(expression));
...
}
如何从 TagHelper ProcessAsync 方法中获取相同或相似的数据注释信息?或者更好的是,如何以与上述类似的方式完全自动生成验证元素?
【问题讨论】:
-
我不想使用验证 TagHelpers。如果我要转移到 TagHelpers,我希望每个字段的主要 TagHelper 都创建它自己的验证输出。否则我的代码会变得更冗长而不是更简洁。
-
为什么这个问题有 jquery-validate 标签?
-
请不要标记垃圾邮件。由于该问题与 jQuery Validate 插件无关,因此请勿使用此标签。已编辑。谢谢。
-
我在 StackOverflow 上的第一篇文章。如果您觉得我错误地表达了我的查询,我们深表歉意。老实说,我确实认为这与该 jquery.validate 插件有关,因为我使用该特定技术作为该解决方案的一部分。这是解决方案的根本。
标签: validation asp.net-core-mvc tag-helpers