C# 如何在HTMLHelper中包含不引人注目的javascript验证?

C# 如何在HTMLHelper中包含不引人注目的javascript验证?,c#,model-view-controller,asp.net-mvc-3,html-helper,unobtrusive-validation,C#,Model View Controller,Asp.net Mvc 3,Html Helper,Unobtrusive Validation,我已经编写了自己的HtmlHelper,现在想集成不引人注目的验证(例如) 有没有一种快速的方法可以做到这一点,省去对模型属性的查询和向生成的HTML字符串中添加数据val等HTML属性的麻烦?为特定字段添加HTML.ValidateFor()的输出应该解决。通常,ValidateFor()只输出特定字段的验证逻辑和消息。根据我如何解释您的问题,我可能遗漏了一些内容,但如果我理解正确,应该可以解决这个问题。为特定字段添加Html.ValidateFor()的输出应该会解决这个问题。通常,Vali

我已经编写了自己的HtmlHelper,现在想集成不引人注目的验证(例如)


有没有一种快速的方法可以做到这一点,省去对模型属性的查询和向生成的HTML字符串中添加
数据val等
HTML属性的麻烦?

为特定字段添加HTML.ValidateFor()的输出应该解决。通常,ValidateFor()只输出特定字段的验证逻辑和消息。根据我如何解释您的问题,我可能遗漏了一些内容,但如果我理解正确,应该可以解决这个问题。

为特定字段添加Html.ValidateFor()的输出应该会解决这个问题。通常,ValidateFor()只输出特定字段的验证逻辑和消息。根据我如何解释您的问题,我可能遗漏了一些东西,但如果我理解正确,应该可以解决它。

MVC3源代码中使用了
GetUnobtrusiveValidationAttributes()
方法:

见:

  • System.Web.Mvc.Html.InputExtensions.cs:371

MVC3源代码中使用了
GetUnobtrusiveValidationAttributes()
方法:

见:

  • System.Web.Mvc.Html.InputExtensions.cs:371

Html.ValidateFor()
返回
void
(),您如何获得它的输出?啊,是的,我想捕获输出是不可能的,因为它直接写入响应。您没有发布HTML帮助程序的代码,但是可以在自定义帮助程序中内联@HTML.ValidateFor(m=>m.whateverproperty)吗?您也可以尝试@HTML.ValidationMessageFor(m=>m.property),这将输出一个字符串,查看以下帖子:
@
语法是RAZOR的一部分,HtmlHelper是从视图调用的另一个文件中编译的C#类。ValidationMessageFor()提供了标签等,这些都是必需的,但这并不能解决验证问题,因为
data val
属性不允许运行验证。好的,我明白你的意思了,很抱歉沟通错误。在本例中,您可能希望下载MVC3源代码并复制Html段。验证是否写出属性,并将该功能添加到助手的输出中。这至少可以让你自己弄清楚逻辑。目前我想不出任何其他方法。
Html.ValidateFor()
返回
void
(),您如何获得它的输出?啊,是的,我想捕获输出是不可能的,因为它直接写入响应。您没有发布HTML帮助程序的代码,但是可以在自定义帮助程序中内联@HTML.ValidateFor(m=>m.whateverproperty)吗?您也可以尝试@HTML.ValidationMessageFor(m=>m.property),这将输出一个字符串,查看以下帖子:
@
语法是RAZOR的一部分,HtmlHelper是从视图调用的另一个文件中编译的C#类。ValidationMessageFor()提供了标签等,这些都是必需的,但这并不能解决验证问题,因为
data val
属性不允许运行验证。好的,我明白你的意思了,很抱歉沟通错误。在本例中,您可能希望下载MVC3源代码并复制Html段。验证是否写出属性,并将该功能添加到助手的输出中。这至少可以让你自己弄清楚逻辑。我现在想不出别的办法了。