首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户端验证不使用ASP.Net MVC Razor和Ajax表单

问客户端验证不使用ASP.Net MVC Razor和Ajax表单
EN

Stack Overflow用户
提问于 2013-02-06 14:26:31
回答 1查看 4.6K关注 0票数 2

我在一个JQuery UI对话框中显示一个部分视图。部分视图包含包含Html.ValidationMessageFor条目的字段,表单本身有一个Html.ValidationSummary。我似乎根本无法让客户端验证工作。如果我将字段空并将选项卡保留给另一个字段,我希望看到错误消息。如果在成功加载部分视图时包含这一行,我就能够看到验证消息.

代码语言:javascript
复制
$.validator.unobtrusive.parse('#theForm');

但这只是当我提交ajax表单时,而不是之前。

在jquery对话框中加载部分视图.

代码语言:javascript
复制
$('#theForm').load('/Company/Edit', function (response, status, xhr)
        {
            if (status != "success")
                $('#theForm').html('failed to load details')
            else {
                $.validator.unobtrusive.parse('#theForm');
                $('#theForm').dialog({ title: title, show: 'blind', hide: 'blind', width: '1000px' });
                $('#theForm').dialog('open');
            }
          });

部分视图..。

代码语言:javascript
复制
    @model CompanyDetails

    @using (Ajax.BeginForm("Save", "Company", new AjaxOptions() { HttpMethod="Post", OnSuccess="closeForm" }, new {@id = "companyDetailsForm"}))
    {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary() 
        <fieldset>
            <legend>Company Details Form</legend>
            <ol>
                <li>
                    @Html.LabelFor(c => c.Name)
                    @Html.TextBoxFor(c => c.Name)
                    @Html.ValidationMessageFor(c => c.Name)
                </li>
                <li>
                    <input type="submit" value="Save" />
                </li>
            </ol>
        </fieldset>
}

这是克拉斯模型..。

代码语言:javascript
复制
public class CompanyDetails
{
    [Required]
    [Display(Name = "Company Name")]
    public string Name { get; set; }
}

我的web.config里有这个..。

代码语言:javascript
复制
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="ClientValidationEnabled" value="true"/>

我有以下的javascript文件。

  • jquery-ui-1.9.2.js
  • jquery.unobstrusive-ajax.js
  • jquery.validate.js
  • jquery.validate.unobtrusive.js

有人能发现我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-06 15:08:10

但这只是当我提交ajax表单时,而不是之前。

这就是不引人注目的javascript验证的工作方式。如果将字段留为空白并从中退出选项卡,则除非尝试提交表单,否则不会触发验证。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14731419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档