相关疑难解决方法(0)

jquery.validate.unobtrusive不使用动态注入元素

我正在使用ASP.Net MVC3,更简单的方法来使用客户端验证将启用jquery.validate.unobtrusive.对于那些来自服务器的东西,一切正常.

但是当我尝试用javascript注入一些新的"输入"时,我知道我需要调用$.validator.unobtrusive.parse()来重新绑定验证.但是,所有这些动态注入的字段都不起作用.

更糟糕的是,我尝试手动绑定使用jquery.validate它也无法正常工作.有什么想法吗?

jquery-validate unobtrusive-validation asp.net-mvc-3

98
推荐指数
6
解决办法
7万
查看次数

MVC 3 Razor @ Html.ValidationMessage不能通过jquery.load()部分加载

我在这里放了一个小例子来复制问题.我有一个强类型的局部视图_Name.cshtml:

@model ValidationInPartial.ViewModels.MyViewModel

<h2>@ViewBag.Message</h2>

    <fieldset>
        <legend>Name</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.MyName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.MyName)
            @Html.ValidationMessageFor(model => model.MyName)
        </div>

        <a href="#" id="reload">Reload Name</a>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>

<script type="text/javascript">
    $(document).ready(function () {
        $("#reload").click(function () {
            $("#divName").load("Home/NameReload");
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

最初加载并显示在主Index.cshtml中

<div id="divForm">
    @using (Html.BeginForm()) {

        <div id="divName">
            @Html.Partial("_Name")
        </div>
    }
</div>
Run Code Online (Sandbox Code Playgroud)

MyName字段是必需的,验证是通过MyViewModel中的Required属性实现的

namespace ValidationInPartial.ViewModels
{
    public class MyViewModel
    {
        [Required(ErrorMessage = "Please enter a Name.")]
        public string MyName { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

第一次加载页面后,如果单击"创建"按钮,则该字段将清空验证消息"请输入名称".显示在田野旁边,田地本身变成粉红色,这是预期的行为.现在通过单击"重新加载名称"链接,进行ajax调用(jquery.load(...)),重新加载部分,这里是控制器代码: …

validation csh partial razor asp.net-mvc-3

14
推荐指数
2
解决办法
3万
查看次数

如何在从AJAX调用中附加表单时正确设置MVC 5不显眼的验证?

我有关于这个问题的googeld,我检查了我的web.config,bundleconfig和我的布局,如下所示:web.config:

<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

在"BundleConfig.cs"下的App_Start文件夹中:

        var jqueryBundle = new ScriptBundle("~/bundles/jquery");
        jqueryBundle.Include("~/Scripts/jquery-{version}.js");
        jqueryBundle.Include("~/Scripts/moment.min.js");
        jqueryBundle.Include("~/Scripts/loadingoverlay.js");
        jqueryBundle.Include("~/Scripts/fullcalendar.js");
        jqueryBundle.Include("~/Scripts/lang-all.js");
        jqueryBundle.Transforms.Add(jsTransformer);
        jqueryBundle.Orderer = nullOrderer;
        bundles.Add(jqueryBundle);
Run Code Online (Sandbox Code Playgroud)

var jqueryvalBundle = new ScriptBundle("〜/ bundles/jqueryval"); jqueryvalBundle.Include( "〜/脚本/ jquery.validate*"); jqueryvalBundle.Include( "〜/脚本/ jquery.validate.js"); jqueryvalBundle.Include( "〜/脚本/ jquery.validate.unobtrusive.js"); jqueryvalBundle.Transforms.Add(jsTransformer); jqueryvalBundle.Orderer = nullOrderer; bundles.Add(jqueryvalBundle);

在我的布局页面中:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/bootstrap")
Run Code Online (Sandbox Code Playgroud)

萤火虫表明:

在此输入图像描述

到目前为止,一切都包括在内,并且应该顺利运行.

我的模特:

   [DisplayName("Förnamn")]
    [Required(ErrorMessage = "Vänligen ange ett förnamn")]
    [StringLength(100)]
    public string FirstName { get; set; }
    [DisplayName("Efternamn")]
    [Required(ErrorMessage = …
Run Code Online (Sandbox Code Playgroud)

jquery unobtrusive-validation asp.net-mvc-5

11
推荐指数
1
解决办法
2万
查看次数

MVC 4使用局部视图进行验证

我正在使用MVC 4和Entity Framework来开发一个Web应用程序.我正在使用加载了javascript的部分视图.其中之一是包含验证的创建视图.这就是我的问题:验证.我有一个自定义验证逻辑,例如,如果用户在某个字段(如"名称")中输入某些数字,则会显示错误.

在这里,使用部分视图,它将我的部分视图重定向到显示的错误,但我想要做的是保持在我的主视图(索引视图)并保留显示错误的部分视图.

编辑:

这是我的部分观点:

@model BuSIMaterial.Models.Person

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Person</legend>

        <div class="editor-label">
            First name : 
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.FirstName, new { maxlength = 50 })
            @Html.ValidationMessageFor(model => model.FirstName)
        </div>

        <div class="editor-label">
            Last name : 
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.LastName, new { maxlength = 50 })
            @Html.ValidationMessageFor(model => model.LastName)
        </div>

        <div class="editor-label">
            National number : 
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.NumNat, new { maxlength = 11 })
            @Html.ValidationMessageFor(model => model.NumNat)
        </div>

        <div class="editor-label">
            Start …
Run Code Online (Sandbox Code Playgroud)

c# ajax asp.net-mvc jquery partial-views

5
推荐指数
1
解决办法
2万
查看次数

不显示jQuery Unobtrusive Validation的验证摘要

我正在使用以下内容:

  • MVC4
  • jQuery 1.11.2
  • jQuery验证1.13.1
  • jQuert.Validate.Unobtrusive(通过nuget显示为3.2.3)
  • 淘汰赛3.3

我的Knockout View Model模板如下所示:

<tbody data-bind="foreach:recipientEmailAddressList">
    <tr>
        <td class="no-padding" style="width:330px">
            <input class="suppress-ms-clear input-parameter full-width" data-bind="value:EmailAddress, hasfocus:EmailAddress.focused" name="EmailAddresses" data-val="true" data-val-email="Please enter a valid email address.">
        </td>
        <td class="no-padding align-right">
            <div class="delete" data-bind="visible: $root.recipientEmailAddressList().length > 1">
                <a href="" data-bind="click:$root.removeRecipientEmailAddress"><span class="no-wrap">X</span></a>
            </div>
        </td>
    </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

我在MVC视图中也有以下内容:

@Html.ValidationSummary(false)
Run Code Online (Sandbox Code Playgroud)

当我添加未通过验证的电子邮件时,无效元素样式正确应用于input元素,但验证摘要不会显示验证错误.同样,即使明显存在验证错误,也允许用户提交页面.

我没有任何绑定到表单的submit元素的代码.

似乎不引人注意的验证通过应用错误样式知道存在问题,但为什么它没有显示验证摘要?为什么我可以提交表格?如果我更正了电子邮件地址以使其有效,则输入上的错误样式将消失.

javascript jquery unobtrusive-validation asp.net-mvc-4 knockout.js

3
推荐指数
1
解决办法
3107
查看次数