即使没有表单字段,Laravel也会显示验证错误?

时间:2017-05-18 17:57:35

标签: php forms validation laravel-5 login

您好我是laravel的新手。我正在使用5.0v。我学到了很多关于laravel,控制器,模型,路线和数据库的欢迎页面。所以,我做的是我使用laravel登录页面代替欢迎页面。当我没有在电子邮件和密码字段中输入任何内容时,我得到了验证:电子邮件字段是必需的。和密码字段是必需的。之后,我尝试使用密码重置页面和注册页面。我得到了正确的验证错误。对于Register页面,我从services> registrar.php文件的rules部分删除了'required'。正如预期的那样,我没有为注册页面获得“必需”验证错误。但是我仍然在登录和密码重置页面上出现“必需”错误。我从login.blade.php中删除了电子邮件和密码字段。但是,当我点击登录时,它会显示电子邮件和密码字段的“必需”错误,尽管页面上没有字段。然后,我创建了一个新页面,其中包含电子邮件和密码类型以外的表单字段。我用它来代替登录页面。但是当将字段留空并单击“提交”时,它会显示电子邮件和密码的“必需”错误,即“电子邮件字段是必需的”。和“密码字段是必需的”。那么,这个问题的原因是什么?并且,就像我编辑registrar.php验证错误规则一样,有没有办法编辑登录和密码重置页面? when other fields are there

my own custom form

1 个答案:

答案 0 :(得分:0)

嗨,这是一个很好的问题,渴望探索这个框架。答案是,在laravel 5.0中,登录的验证被框架深深地嵌入到控制器逻辑中,并且改变它并不是那么简单。使用更新版本的框架,您可以更轻松地完成此任务。在laravel 5.0中,登录验证在方法' postLogin'中进行了硬编码。在文件veondor/laravel/framework/Illuminate/Foundation/Auth/Authent‌​icatesAndRegistersUs‌​ers.php中。如果您确实需要更改此设置,则可以将整个方法粘贴到app/Http/Controllers/Auth/AuthController.php。因此用这个覆盖内置方法。现在,您可以在此帖子中进行所需的更改' postLogin' AuthController'中的方法。希望这可以帮助。如果您还处于学习阶段,那么我建议您从5.3或5.4版本开始

Laravel PHP requirement

Laravel 5.4 : PHP >= 5.6.4
Laravel 5.3 : PHP >= 5.6.4
Laravel 5.2 : PHP >= 5.5.9
Laravel 5.1 : PHP >= 5.5.9
Laravel 5.0 : PHP >= 5.4, PHP < 7