Кратко:
У меня есть проверочное значение запроса для пустой строки.
Код:
if(isset($request->name)) {
$this->validate($request, [
'name' => [
function ($attribute, $value, $fail) {
if (mb_strlen(preg_replace('/\s/', '', $value)) == 0) {
$fail($attribute.' is can't be empty.');
}
}
]
]);
$user->name = $request->name;
$user->save();
}
Также устал от правила кутома.
Код правила:
public function passes($attribute, $value)
{
$result = preg_replace('/\s/', '', $value);
return mb_strlen($result) == 0 ? false : true;
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return "Attribute value can't be empty string.";
}
Код проверки правила:
if(isset($request->name)) {
$this->validate($request, [
'name' => [
new IsEmptyString
]
]);
$user->name= $request->name;
$user->save();
}
Вопрос:
Где есть ошибки? Почему laravel не отправляет сообщение об ошибке проверки, когда я проверяю значение запроса на пустую строку?
Спасибо!
if
. - person Tharaka Dilshan   schedule 25.10.2018if(isset($request->name))
. разве вы не понимаете, что еслиname
пусто, функция проверки даже не вызывается. - person Tharaka Dilshan   schedule 25.10.2018'name' => 'required'
- person Tharaka Dilshan   schedule 25.10.2018