Razor视图中的客户端验证无效

时间:2014-05-07 18:17:58

标签: c# asp.net-mvc razor data-annotations

我正在尝试在客户端执行验证规则而我没有得到,总是去发帖。

始终致电帖子

_layout。

<script src="@Url.Content("~/Content/scripts/jquery-1.8.3.min.js")" type="text/javascript"></script>        

<script src="~/Content/scripts/jquery-ui-1.8.24.min.js" type="text/javascript"></script>   

<script src="~/Content/scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>   

<script src="~/Content/scripts/jquery.validate.min.js" type="text/javascript"></script>   

<script src="~/Content/scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>   

形式:

@model FlexGestor.Models.UsuarioCadastro

@using (Html.BeginForm())
{


    <div class="row">
        @Html.TituloPagina("Informe seus dados para cadastro")    
        <div class="col-md-6">  
        @Html.LabelFor(m => m.Nome) @Html.ValidationMessageFor(m => m.Nome)    
        @Html.TextBoxFor(m => m.Nome, new { style = "width:250px;" })

    <div class="row">        
        <div class="col-md-6"> 
        <input class="btn btn-success" type="submit" value="Cadastrar" onclick="this.disabled=true;this.value='Cadastrando, por favor aguarde...';this.form.submit();"/>
        </div>
    </div>    
}

的Web.config

  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />    
  </appSettings>
  <system.web>

1 个答案:

答案 0 :(得分:0)

此路径对网络浏览器没有任何意义:

<script src="~/Content/scripts/jquery-ui-1.8.24.min.js" type="text/javascript"></script>

~表示法是服务器端概念,指的是应用程序根目录。浏览器不知道该怎么做。所以我猜这个符号引用的JavaScript文件都没有被加载。

您可以使用已有的替代方法替换另一个script代码:

<script src="@Url.Content("~/Content/scripts/jquery-1.8.3.min.js")" type="text/javascript"></script>

或者您可以显式引用这些文件(尽管这需要对非root部署进行更改,因此在一般情况下不建议这样做):

<script src="/Content/scripts/jquery-ui-1.8.24.min.js" type="text/javascript"></script>

如果您正在使用任何最新版本的ASP.NET MVC,那么我建议构建一个script bundle,因为它可以为您处理script标记(甚至缩小)的生成。 / p>