2017-09-02 44 views
2

我刚刚安装了一个Laravel星火V4 - 跑spark new project-name,随后没有任何错误的步骤,问题是,登记表不显示任何验证错误,而不是内嵌红色警告,当输入没有填写或表格发送后的确认,可能是什么问题?没有改变通用寄存器刀片文件。Laravel星火 - 没有AJAX字段验证错误的寄存器

当输入任何内容,我得到响应代码:

app.js:6175 POST http://127.0.0.1:8000/register 422 (Unprocessable Entity)

和正确的JSON响应:

{"message":"The given data was invalid.","errors":{"name":["The name field is required."],"email":["The email field is required."],"password":["The password field is required."],"terms":["The terms must be accepted."]}} 

Laravel的基本验证工作登记表上,但它不与AJAX工作请求登录/注册表格。表单本身在注册新用户时起作用 - 但对用户没有反馈。

回答

3

我相信这有引擎盖下做Laravel的“Consistent Exception Handling”。 Spark的VueJS应用程序尚未考虑到这一点。

要在本地解决,围绕/spark/resources/assets/js/forms/errors.js 54线,在this.set功能,更改:

if (typeof errors === 'object') { 
     this.errors = errors; 
    } else {... 

if (errors.errors && (typeof errors.errors === 'object')){ 
     this.errors = errors.errors; 
    } else {... 

重新编译JS,它应该重新开始工作。

+0

是啊!想想我自己,但谢谢!奇怪的是,我必须在新的安装上这样做。应该有这个问题吗? – Marcin

+0

它存在于全新安装,现在,是的 - 我已经提交一个PR来得到它固定的回购。更 –

2

我一个新的安装之后,现在得到了同样的问题。我根据Paul的答案更改了代码,但仍然无效。也许原因是我不知道如何重新编译JS ...

我做了:重新运行npm运行dev,运行php artisan view:清除,运行php artisan cache:清除但是这一切都没有帮助。对不起,我完全陌生的laravel

+0

有几个提到的'this.erorrs'所以你也需要改变它在那里,当出现只是不改变它'this.errors = ...' – Marcin