我设置了许多带有多项选项集的产品,并勾选了“必填”复选框。
当这些选项集使用“矩形”显示模式时,验证工作正常。点击添加到购物车告诉我请选择一个选项,并且不会向前发送表单。
然而,使用“多选”显示模式根本不进行验证 - 请求触发并将项目添加到购物车。我可以继续去结账并购买该物品。这是一个巨大的潜在问题,因为客户可以在不指定尺寸,颜色等的情况下购买商品,但我们无法履行订单。
查看AJAX请求的有效负载,而不是发送的属性值,“选择选项”将作为名为attribute[###]
的表单数据字段的值发送。
我已经在我的本地服务器(stencil start
)上测试了这个,并且在将主题推送到商店本身之后。我使用了自定义内部模板主题和BigCommerce提供的默认Cornerstone主题。
答案 0 :(得分:1)
从Cornerstone 1.2.2的templates/components/products/options/set-select.html
文件中偷看,似乎以下更改确保验证按预期运行:
在form-field
上添加<div>
课程,在form-select form-select--small
上添加<select>
课程。
但是,这仅解决了客户端的验证问题,除非选择了选项,否则不允许用户提交表单。无效的AJAX请求仍然允许产品在没有选项的情况下添加到购物车,并通过结帐,即使选项被标记为必需。