我如何以编程方式触发客户端验证由Razor视图设置?(How can I programmatica

2019-08-01 11:43发布

我最初产生的,我用剃刀观点有点儿Ajax应用程序的HTML形式段,我后来阅读并从knockout.js写。 虽然我做的没有非Ajax请求的动作,我用剃刀来生成HTML,所以我享受自动生成的jQuery验证属性。 例如,在我的单页,我使一个隐藏的形式是这样的:

<section id="person-detail">
    @Html.Action("EditPartial", "Person")
</section>

EditPartial动作返回看起来很像这个局部视图:

@using (Html.BeginForm())
{
    <fieldset>
        @Html.HiddenFor(model => model.Id, new { data_bind = "value: id" })
        <div class="editor-label">
            @Html.LabelFor(model => model.FirstName)
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.FirstName, new { data_bind = "value: firstName" })
            @Html.ValidationMessageFor(model => model.FirstName)
        </div>
        <p>            
            <a href="#" data-bind="click: save">Update</a>&nbsp;&nbsp;
            <a href="#" data-bind="click: delete">Delete</a>
        </p>
    </fieldset>
}

因为我从来没有真正发帖的形式,并且由于一些未知的,尽管我的所有属性Person模型被打上Required属性,我看不出有任何的客户端验证的迹象。 我必须做什么来触发此验证我的保存按钮被点击?

Answer 1:

假设你的窗体有一类“主”:

    $('form').submit(function() {
            var $form = $('form.main');
            $form.valid();
    });


文章来源: How can I programmatically trigger client side validation set up by a Razor view?