【发布时间】:2012-07-13 20:39:06
【问题描述】:
我需要能够解析 MvcHtmlString 中的属性(HtmlHelper 扩展的结果),以便我可以更新和添加它们。
以这个 HTML 元素为例:
<input type="text" id="Name" name="Name"
data-val-required="First name is required.|Please provide a first name.">
我需要从data-val-required 中获取值,将其拆分为两个属性,第二个值进入一个新属性:
<input type="text" id="Name" name="Name"
data-val-required="First name is required."
data-val-required-summary="Please provide a first name.">
我正在尝试使用 HtmlHelper 扩展方法来执行此操作,但我不确定解析属性的最佳方法。
【问题讨论】:
-
哇,让我们从头开始,因为这闻起来/发臭/散发出令人窒息的气味。你到底想达到什么目的?请不要回答:
parse attributes from MvcHtmlString。我期待有关您最初目标的答案。因为parse attributes from MvcHtmlString可能是实现初始目标的一种方式。可能还有其他方法。更好的方法。但是,如果不知道您的初始目标,就很难为您提供那些更好的方法。 -
好吧,就这个问题而言,我真的只是对如何
parsing attributes generated by some other helper感兴趣。 :) 但是我会开玩笑说,我们的 UX 团队要求为我们的用户提供单独的验证消息——字段级与摘要级。使用内置验证,ModelStateDictionary 仅支持一条消息。因此,在不完全重写内置验证的情况下,这是我能想到的最佳方法。如果您有任何想法,请告诉我,我们可以离线讨论(以免劫持这个话题)。 -
而且,作为记录,我同意:它确实有味道。很糟糕。
-
请以其他方式证明我。你会是我最好的朋友。
-
每个字段需要多个验证消息?我不明白你的要求。告诉我一个用例。
标签: asp.net-mvc asp.net-mvc-3 validation html-helper unobtrusive-validation