我正在使用Laravel5.2验证一个表单
对输入required_if使用验证检查youtube-embed。验证成功进行,但自定义错误消息不起作用。这是代码,也许有人可以看一下。
$messages = [
'youtube-embed.required_if' => 'Please paste in your youtube embed code',
];
$this->validate($request, [
'youtube-embed' => 'required_if:youtube,on',
]);这是laravel返回的错误消息,而不是我的自定义错误:
The youtube-embed field is required when youtube is on.发布于 2016-03-15 23:51:11
试试这个:
$this->validate($request,
['youtube-embed' => 'required_if:youtube,on',],
['required_if' => 'Please paste in your youtube embed code',]
);基本上,您可以将自定义消息作为验证函数中的第三个参数传递。
发布于 2018-03-23 11:16:15
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$rules = [
'payout_method' => 'required:in,bankTransfer,paypal',
'paypal_email' => 'required_if:payment_type,paypal|email',
'receiver' => 'required_if:payment_type,bankTransfer|max:45',
'iban' => 'required_if:payment_type,bankTransfer|max:45|iban',
'bic' => 'required_if:payment_type,bankTransfer|max:15|bic',
];
return $rules;
}
/**
* Get the error messages for the defined validation rules.
*
* @return array
*/
public function messages()
{
return [
'payout_method.required' => trans('validation.attributes.payout_type_required'),
'paypal_email.required_if' => trans('validation.attributes.paypal_email_required'),
'paypal_email.email' => trans('validation.attributes.paypal_email_invalid'),
'iban.required_if' => trans('validation.attributes.bank_account_required'),
'bic.required_if' => trans('validation.attributes.bank_swift_required'),
'iban.iban' => trans('validation.attributes.bank_account_invalid'),
'bic.bic' => trans('validation.attributes.bank_swift_invalid'),
];
}在这种情况下我能做什么?Laravel返回“paypal电子邮件字段是必需的。”对于其他字段,此工作仅不使用required_if。
发布于 2021-03-10 12:22:45
如果您使用的是Request类:
public function messages()
{
return [
'youtube-embed.required' => 'Your custom message here.',
];
}关于Laravel 7的工作
https://stackoverflow.com/questions/36024334
复制相似问题