Laravel Validator :: validateString | max не существует Ошибка - PullRequest
0 голосов
/ 26 августа 2018

В моем приложении Laravel 5.6.33 мне нужно проверить размер загруженного файла с правилом

    'avatar' => [
        'string|max:50',
        Rule::dimensions()->maxWidth(96)->maxHeight(64)->ratio(3 / 2),
    ],

Но я получил ошибку:

Method Illuminate\Validation\Validator::validateString|max does not exist.

В объявлениях правил я добавилстрока:

use Illuminate\Validation\Rule;

Но у меня все равно есть ошибка ...

Что я пропустил?

ИЗМЕНЕН 2: Я вижу точку в ваших комментариях: У меня естьввод файла с помощью функции js при выборе файла

<input type="file" style="display: none" ref="file_input" accept="avatar/*" @change="onImageSelected">

и когда я выбираю файл, я сохраняю его в this.user_avatar_url var и показываю в форме

    onImageSelected(event) {
        this.is_page_updating = true
        const files = event.target.files
        let filename = files[0].name
        this.user_avatar = filename;
        if (filename.lastIndexOf('.') <= 0) {
            return alert('Select valid avatar !')
        }
        const fileReader = new FileReader()
        fileReader.addEventListener('load', () => {
            this.user_avatar_url = fileReader.result
        })
        fileReader.readAsDataURL(files[0]);
        this.is_page_updating = false
    },

user_avatar_url имеет такой же вид, как

data:image/png;base64,iVBORw0KGgoAAAAN
...
LSOiCLN/wIWijWu5oCk7wAAAABJRU5ErkJggg==

и установка правила:

'avatar' => [
    'string',
    'max:100',
],
'avatar_url' => [
    Rule::dimensions()->maxWidth(2896)->maxHeight(2864),
],

У меня такая же ошибка.Похоже, это неправильный путь ... Какой правильный путь?

1 Ответ

0 голосов
/ 26 августа 2018

Вы должны написать это так:

'avatar' => [ 'string', 'max:50', Rule::dimensions()->maxWidth(96)->maxHeight(64)->ratio(3 / 2), ],

...