如何解决Laravel 数组不同验证
我在控制器中有以下请求验证规则。
public function __invoke(Request $request)
{
$this->validate($request,[
'name' => ['required','unique:games,name','string'],'variant' => ['required','rules' => ['string'],'is_anonymous' => ['boolean','required'],'message_mode' => ['required',new EnumRule(MessageModeEnum::class)],'powers' => ['required','array'],'powers.*' => ['distinct:ignore_case','required',]);
}
下面是我针对控制器运行的测试。我希望 powers.*
验证会抛出错误,因为这两个幂是相等的而不是不同的。
/**
* @test
*
*/
public function endpoint_validation()
{
$user = User::factory()->create(['rank' => RankEnum::A()]);
$response = $this->actingAs($user)->post(route('game.create'),[
'name' => '::name::','variant' => '::variant::','rules' => '::rules::','is_anonymous' => false,'message_mode' => 'none','powers' => [
'::power::','::power::'
],);
$response->assertSessionHasErrors('powers');
}
然而,这个测试失败了。我究竟做错了什么?我该如何解决这个问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。