【发布时间】:2017-12-19 05:53:18
【问题描述】:
是否有一种 php 方法来验证在提交之前提交到另一个页面的表单,如果字段无效或者如果所有内容都有效,则将帖子数据发送到另一个页面?
例如:
我在页面somesite.com/orderitems 上会有类似的形式
<form method="post" id="orderform" action="somesite.com/shoppingcart">
<input type="number" name="numitems" id="numitems" value="1">
<input type="date" name="date" id="date">
</form>
例如,谷歌浏览器已经知道验证您是否输入输入字段required 值并验证日期和数字字段。我还有一个 jquery datepicker,因此用户可以轻松选择日期,还有 jquery 验证器在提交之前验证字段,但所有这些都可以在某些时候被覆盖和/或失败。
所以提交表单时,终点将是 php 中的验证。
但我偶然发现的是,我无法使用 GET 请求获取 somesite.com/shoppingcart 上的数据,因此我必须将 POST 发送到该页面,但如果某些字段无法验证,例如错误日期或错误日期格式,而不是我什至不应该去(重定向或发布)到somesite.com/shoppingcart,而是应该留在页面somesite.com/orderitems 上并显示错误。
那么有这样的解决方案,你会推荐什么建议。我可以将表单发布到同一页面并验证字段,如果一切都好于重定向到另一个页面并传递 POST 数据,或者停留在同一页面并显示错误?
【问题讨论】:
-
你要求的是AJAX
-
AJAX,或在购物车中进行验证 - 如果一切正常,请继续订购流程。如果没有,请将
$_POST项目保存到会话中,准备一条错误消息并重定向回orderitems。输入中的值将从会话中预填充。 -
嗯,这声音太复杂了。我为此使用 WordPress 网站,虽然我之前使用过 ajax,但我仍然不明白在发布成功后 ajax 将如何重定向。为此,我将不得不进一步阅读,是否有没有 ajax 的方法,因为某些移动浏览器可能会遇到问题。
标签: php forms validation