【问题标题】:Validation in ASP.NET Web Pages (Razor) deprecated?已弃用 ASP.NET 网页 (Razor) 中的验证?
【发布时间】:2014-09-08 21:30:50
【问题描述】:

我正在尝试在剃须刀中使用验证,但是当我尝试使用该行时

Validation.RequireFields("firstName", "lastName", "dateOfBirth");

visual studio 告诉我:

'System.Web.Helpers.Validation' 已过时:'"使用 改为 System.Web.HttpRequest.Unvalidated。"'

'System.Web.Helpers.Validation' 不包含对 'RequireFields'

但我能找到的最新参考是http://www.asp.net/web-pages/overview/more-resources/asp-net-web-pages-api-reference#Validation,我真的不明白 Unvalidated 应该如何做我想做的事。

如何进行验证?

谢谢!

如果相关,这是我的 web.config:

<?xml version="1.0"?>

<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />
        <add namespace="WebRole2" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

  <appSettings>
    <add key="webpages:Enabled" value="false" />
  </appSettings>

  <system.webServer>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>
</configuration>

【问题讨论】:

    标签: c# asp.net asp.net-mvc validation razor


    【解决方案1】:

    使用属性对模型进行验证:

    public class MyModel
    {
      [Required][StringLength(100)]
      public string FirstName {get;set;}
    }
    

    看到这个excellent blog post 很好地解释了它。此外,如果框架属性不能满足您的要求,this library 有很多额外的属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-22
      • 2019-06-08
      • 1970-01-01
      • 2011-10-09
      • 2021-04-25
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      相关资源
      最近更新 更多