首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果客户端验证文本相同且正在显示,如何不显示服务器端验证消息?

如果客户端验证文本相同且正在显示,如何不显示服务器端验证消息?
EN

Stack Overflow用户
提问于 2014-05-20 20:14:12
回答 1查看 729关注 0票数 0

在下面这样的页面中,我有几个带有客户端类验证失败的div。中间的文本可以从div更改为div。

代码语言:javascript
复制
<div class="validation-failure">At least one of the above 2 fields needs to be entered</div>

我也有服务器端验证错误显示在网站上,如下所示

代码语言:javascript
复制
<div id="messages_product_error_view">
        <ul>
            <li>At least one of the above 2 fields needs to be entered</li>        </ul>
    </div>

现在,我希望确保在显示客户端验证并且文本与服务器端验证相同时,只显示客户端验证。但是,如果客户端验证错误为空div,则显示服务器端验证。我认为这可以通过jquery来完成。请帮帮忙?

我希望在div上显示任何文本时立即进行捕获。

这就是正在发生的事情。

当用户在输入字段中键入内容时,客户端js开始工作,并显示客户端js验证错误消息。

然而,在极少数情况下,它们能够绕过js,或者js验证是不正确的。因此服务器端验证逻辑已经使用php放到了适当的位置。

现在,当在输入字段中键入内容时,客户端验证开始生效。如果用户按submit,服务器端的validatiojn也会出现。

我只想让客户端出现..如果客户端不在那里,则显示您提出的服务器side....The解决方案。但是在一个页面中,如果用户继续输入错误的输入,客户端站点验证消息就会继续出现,而服务器端仍然在那里。因此,当用户在输入上键入任何内容时,需要以某种方式进行检测,然后如果出现客户端验证,则不显示服务器端

EN

回答 1

Stack Overflow用户

发布于 2014-05-20 20:32:11

代码语言:javascript
复制
var clientSide = $(".validation-failure");
var serverSide = $("#messages_product_error_view li");

if (serverSide.text() == clientSide.text()) {
    serverSide.hide();
    clientSide.show();
} else if (clientSide.text().length == 0) {
    serverSide.show();
    clientSide.hide();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23759539

复制
相关文章

相似问题

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