首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Xforms的客户端验证- MVC应用程序

使用Xforms的客户端验证- MVC应用程序
EN

Stack Overflow用户
提问于 2015-10-15 09:19:59
回答 2查看 552关注 0票数 9

我正在尝试使用episerver xform执行客户端表单验证,编译后的html看起来像这样:http://codepen.io/anon/pen/ojGGJw有关于如何实现这一点的指导吗?我正在考虑使用.validate库,但是如果我们通过epi添加一个新的控件到窗体中,我会有一个问题。此外,我还尝试使用AJAX调用,如下所示:

代码语言:javascript
复制
 $.ajax({
        url: "/industry/XFormPost?XFormId=0643b992-56c6-40a5-91eb-c557443630e0&failedAction=Failed&successAction=Success&contentId=36",
        data: $(this).serialize(),
        type: "POST",
        success: function () {
            alert('Hello this is a valid form');
        }
    });

它会触发事件,但不会将我的表单保存到数据库中。即使我传递的所有字段都是有效的

EN

回答 2

Stack Overflow用户

发布于 2015-10-19 16:15:18

遗憾的是,在目前的状态下,当涉及到定制时,使用XForms是出了名的麻烦。对于自定义渲染和/或验证,我们通常完全实现我们自己的渲染。

有许多关于如何实现它的文章,但它可能很耗时。:/

当然,客户端验证只能通过将事件处理程序附加到默认生成的HTML来实现,但这通常是不够的。虽然这可以与服务器端事件结合在一起,但如果没有自定义呈现,则很难正确地为最终用户定制XForms的工作方式。

票数 2
EN

Stack Overflow用户

发布于 2015-10-28 01:17:02

下面是我最终要做的,使用.validate() js库为我的表单包含一个完整的客户端验证。我相信还有其他方法可以做到这一点,所以这是我的版本:

EpiServer有一个类字段,您可以将其用于所有控件(顺便说一句,遗憾的是没有隐藏字段,但这是另一回事)。因此,我添加了一个名为'requiredField'的css类,并为不同类型的验证添加了额外的类,例如用于电子邮件验证的'emailField'和用于表单CSS布局的'halfWidthField'

为了让.Validate正常工作,我需要添加必要的属性。为了实现这一点,我创建了一个小脚本,根据我已经分配的类名添加这些属性。我的JS代码看起来像这样:

代码语言:javascript
复制
 $(".contact-form").find(".requiredfield").each(function () {
        $(this).prop('required', true);
    });
    $(".contact-form").find(".emailfield").each(function () {
        $(this).attr('type', 'email');
    });

最后:为了实现ajax调用,我更改了视图,并进行了Ajax调用,而不是常规的post调用。

代码语言:javascript
复制
 @using (Ajax.BeginForm("", "",
                     new AjaxOptions
                     {
                         HttpMethod = "POST",
                         Url = Model.ActionUri
                     }
                     ))
                 {
                     Html.RenderXForm(Model.Form);
                 }

它按照预期工作,我可以根据需要定制验证。最终的表单如下所示:

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

https://stackoverflow.com/questions/33138265

复制
相关文章

相似问题

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