这是我的输入字段:
<div class="col-md-4 form-group">
<label class="form-label fw-bold text-muted" >Em Code</label>
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">xyz.</div>
</div>
<input class="form-control" name="em_code" type="number" value="{{ old('em_code') }}">
@error('em_code')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
</div>
正如预期的那样,在我的控制器中,只返回传递的数字
public function store(Request $request)
{
dd($request->em_code);
}
现在我希望它返回xyz的值。####
当然,我可以使用以下将其连接到我的控制器中
'em_code' => 'bZm.'.$request->em_code,
但我希望它与刀片输入文件连接,因为我将验证为唯一。但在我的数据库中,它被存储为bZm.1111。因此,在输入11111的情况下,验证规则将不会通过任何异常。但是,mySql将返回错误,因为此列在那里标记为唯一。
因此,为了对唯一的em_code进行正确的检查,我试图将其从输入中连接起来,并将其作为字符串传递给控制器。
欢迎您为这个问题提供其他解决方案。
谢谢!
在表单请求类中,您可以准备验证。
https://laravel.com/docs/9.x/validation#preparing-验证输入
protected function prepareForValidation()
{
$this->merge([
'em_code' => 'bZm.' . $this->em_code,
]);
}