jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – MVC 4客户端验证不工作大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
任何人都可以告诉我为什么客户端验证不工作在我的MVC 4应用程序。

_layout.schtml

@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts",required: falsE)

在我的web.config我有

<appSetTings>
   <add key="ClientValidationEnabled" value="true" />
   <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSetTings>

在我的login.cshtml页面我有

@using (Html.beginForm())
{
    <div class="formscontent">

        <ol>
            <li>
                @Html.LabelFor(x => x.Agreementnumber)
                <br />
                @Html.TextBoxFor(x => x.Agreementnumber,new { size = "30" })
                <br />
                @Html.ValidationmessageFor(m => m.Agreementnumber)
                <br />
                <br />
            </li>
            <li>
                @Html.LabelFor(x => x.UserName)
                <br />
                @Html.TextBoxFor(x => x.UserName,new { size = "30" })
                <br />
                @Html.ValidationmessageFor(m => m.UserName)
                <br />
                <br />
            </li>
            <li>
                @Html.LabelFor(x => x.password)
                <br />
                @Html.passwordFor(x => x.password,new { size = "30" })
                <br />
                @Html.ValidationmessageFor(m => m.password)
                <br />
                <br />
            </li>
        </ol>

    </div>

    <ol>
        <li>
            @Html.checkBoxFor(m => m.RememberME)
            @Html.LabelFor(m => m.RememberMe,new { @class = "checkBox" })
        </li>
    </ol>

    <br />

    <input class="mainbutton" type="submit" value="@model.Localisation.TranslateHtml@R_874_10495@ng("logonBtn")" /><br />
    <div style="text-align: left; padding: 0 5px 5px 10px;">
        Forgot login-info? clik <a class="link" href="@Url.Action("Index","Credentials")">here.</a>
    </div>

}

登录页面底部

@section Scripts {
  @Scripts.Render("~/bundles/jqueryval")
}

JavaScript在我的浏览器中启用。在MVC 4模板项目从Visual studio客户端验证工作正常。

运行应用程序,在查看页面源时在登录页面上,我看到这个呈现:

<label for="Agreementnumber">number</label>
<br />
<input id="Agreementnumber" name="Agreementnumber" size="30" type="text" value="387893" />
<br />
<span class="field-validation-valid" data-valmsg-for="Agreementnumber" data-valmsg-  replace="true"></span>

并在此在底部

<script src="/BMWebsite/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/BMWebsite/Scripts/jquery.validate.inline.js"></script>
<script src="/BMWebsite/Scripts/jquery.validate.js"></script>
<script src="/BMWebsite/Scripts/jquery.validate.unobtrusive.js"></script>

我的模型属性已注释:

public class logonModel : ModelBase
{
    [Myrequired("AgreementnumberrequiredProperty")]
    [MyDisplay("AgreementnumberLabel")]
    public @R_874_10495@ng Agreementnumber { get; set; }

    [Myrequired("UserNamerequiredProperty")]
    [MyDisplay("UserNameLabel")]
    public @R_874_10495@ng UserName { get; set; }

    [Myrequired("passwordrequiredProperty")]
    [DataType(DataType.password)]
    [MyDisplay("passwordLabel")]
    public @R_874_10495@ng password { get; set; }

    [MyDisplay("RememberMecheckBox")]
    public bool RememberMe { get; set; }
}
@H_678_2@myrequired是从常规requiredAttribute派生的类。原因是我的错误消息通过重写requiredAttribute类的FormatErrormessage(@R_874_10495@ng Name)方法进行本地化。它工作正常 – 我的标签错误消息是本地化。

@H_678_2@myrequired.cs

public class MyrequiredAttribute : requiredAttribute
{
    private readonly @R_874_10495@ng _errormessagekey;

    public MyrequiredAttribute(@R_874_10495@ng errormessagE)
    {
        _errormessagekey = errormessage;
    }

    public override @R_874_10495@ng FormatErrormessage(@R_874_10495@ng Name)
    {
        var translation = httpContext.Current.Session["translation"] as LocalisationHelper;

        return translation != null ? translation.Translate(_errormessagekey) : Errormessage;
    }
}

我在我的登录操作方法的POST版本中放了一个断点,它被击中。表单发布到服务器端验证发生的服务器。客户端验证不会发生

我缺少什么?

谢谢。

解决方法

我有同样的问题。看来,不显眼的验证脚本没有加载(见截图结束)。我通过在_Layout.cshtml的末尾添加来修复它
@Scripts.Render("~/bundles/jqueryval")

最终结果:

@Scripts.Render("~/bundles/jquery")
   @Scripts.Render("~/bundles/jqueryval")
   @RenderSection("scripts",required: falsE)

除了我漂亮的标准CRUD视图一切都是Visual studio项目模板认值。

修复问题后加载脚本:

大佬总结

以上是大佬教程为你收集整理的jquery – MVC 4客户端验证不工作全部内容,希望文章能够帮你解决jquery – MVC 4客户端验证不工作所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。