Validation Laravel Validator::validateString | max不存在错误
在我的Laravel 5.6.33应用程序中,我需要使用规则检查上传文件的尺寸Validation Laravel Validator::validateString | max不存在错误,validation,laravel-5,dimension,Validation,Laravel 5,Dimension,在我的Laravel 5.6.33应用程序中,我需要使用规则检查上传文件的尺寸 'avatar' => [ 'string|max:50', Rule::dimensions()->maxWidth(96)->maxHeight(64)->ratio(3 / 2), ], onImageSelected(event) { this.is_page_updating = true co
'avatar' => [
'string|max:50',
Rule::dimensions()->maxWidth(96)->maxHeight(64)->ratio(3 / 2),
],
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
},
但我有一个错误:
Method Illuminate\Validation\Validator::validateString|max does not exist.
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
},
在规则声明中,我添加了一行:
use Illuminate\Validation\Rule;
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
},
但我还是有错误
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
},
我错过了什么
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
},
修改2:
我从你们的评论中看出了一点:
我在文件选择上有js函数的文件输入
<input type="file" style="display: none" ref="file_input" accept="avatar/*" @change="onImageSelected">
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
},
以及制定规则:
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
},
'avatar' => [
'string',
'max:100',
],
'avatar_url' => [
Rule::dimensions()->maxWidth(2896)->maxHeight(2864),
],
我也有同样的错误。看起来这是错误的方式。。。
哪种方法正确?你应该这样写:
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
},
“化身”=>[
'字符串',
"最高限额:50",,
规则::dimensions()->maxWidth(96)->maxHeight(64)->比率(3/2),
],
您没有向我们显示完整的验证代码…您在验证什么输入?这是一个字符串输入吗?你的答案很好,虽然它让我想知道。。。是一根绳子吗。。或者它是一张图片。我的答案是关于语法的,我也想知道如何将文件验证为字符串。请看我第一篇文章的修改后的2块。在验证规则中,将“avatar\u url”更改为“user\u avatar\u url”
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
},