如何为字段accept number和null添加验证?[Laravel 7.x]

如何为字段accept number和null添加验证?[Laravel 7.x],laravel,validation,laravel-7,laravel-validation,Laravel,Validation,Laravel 7,Laravel Validation,当通过时,我想将分数值存储为一个数字。如果为通过为假则得分应为空。因此,我为score 'score' => 'required_if:is_pass,true|numeric' 但是我有一个问题,当是通过的是错误的时,那么它的分数值也应该是数值。如何解决这个问题?是否有任何不同的选项?是否有自定义验证以外的选项?我使用的是laravel 7。您应该定义一个变量来保持规则。 然后根据条件改变你的规则 if((bool)$request->is_pass==true) $rules['sc

通过时,我想将
分数
值存储为一个数字。如果
为通过
为假
得分
应为
。因此,我为
score

'score' => 'required_if:is_pass,true|numeric'

但是我有一个问题,当
是通过的
是错误的时,那么它的
分数
值也应该是数值。如何解决这个问题?是否有任何不同的选项?是否有自定义验证以外的选项?我使用的是laravel 7。

您应该定义一个变量来保持规则。 然后根据条件改变你的规则

if((bool)$request->is_pass==true)
$rules['score']='required_if:is_pass,true | numeric';
其他的
$rules['score']=“如果:为通过,为假,为空,则为必需”;

您可以使用
null
验证
numeric


这将要做的是检查值是否不为null,然后应用数值验证,否则跳过验证并将其接受为null。

谢谢你的回答,但我的问题没有涉及到这一点。谢谢你的回答,这是一个有用的回答。所以我加了一票。但我希望有任何直接的方法。所以我没有接受你的回答。谢谢,我很感激。希望你能找到答案
'score' => 'nullable|numeric'