我使用Laravel 5.5和PHP 7,并且正在创建这样的表单。
<form id="form" name="xxx" action="post">
<input type="text" name="body_color[1][en]">
<button type="submit" name="submit">Submit</button>
</form>
我通过Ajax发布数据,并且在发生错误时收到Laravel的以下响应。
错误:body_color.1.en:[“必须输入body color.1.en字段。”] 成功:错误
如果Laravel不使用圆点替换“ [”和“]”,我可以使用jQuery在浏览器上有效显示错误消息。
$('#form *[name=body_color[1][en]]').after('input error!');
如何在网络浏览器中显示简单的错误消息?
答案 0 :(得分:1)
根据您的jQuery要求,这种情况下可以使用简单的正则表达式替换:
var str = "body_color.1.en"
str.replace(/\.(.+)\./, "[$1][") + "]" // returns body_color[1][en]
或者您也可以将点上的字符串分割并重建:
str.split('.') // returns ['body_color', '1', 'en'];
有许多现有的Javascript类可以处理错误响应,例如:https://github.com/spatie/form-backend-validation
答案 1 :(得分:0)
通过JSON.parse(response)运行响应,您应该能够使用标准的json点语法逐步浏览数据。
var r = JSON.parse(response):
console.log(r);