В моем приложении 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),
],
У меня такая же ошибка.Похоже, это неправильный путь ... Какой правильный путь?