请求可以包含字段allData <- c("Actinomyces.csv", "Bacteria.csv", "COD.csv", "Fungi.csv", "NH3.csv", "NO2.csv", "NO3.csv", "TN.csv", "TP.csv")
#CSV files in the working path
csvs <- lapply(allData, read.csv)
#Store data frames into a list
nameList <- c("Actinomyces", "Bacteria", "COD", "Fungi", "NH3", "NO2", "NO3", "TN", "TP")
lapply(c(1:9), function(i){assign(nameList[i], csvs[[i]])})
#Doesn't work
Map(assign, nameList, csvs)
#Doesn't work either
mapply(assign, nameList, csvs)
#Doesn't work again
for (i in 1:9){
assign(nameList[i], csvs[[i]])
}
#Only this works
({x:1,y:2}),也可以不包含。例如:
正确(无coord
):
coord
正确:
[
'another_param' => 'value',
],
无效(格式错误的[
'another_param' => 'value',
'coord' => [
'x' => 1,
'y' => 2,
],
],
):
coord
是否可以通过标准规则(无自定义和闭包)编写。
我的尝试
[
'another_param' => 'value',
'coord' => [
'x' => 1,
],
],
但是,如果请求中不包含'rules' => [
'coord' => 'array',
'coord.x' => 'required',
'coord.y' => 'required',
],
,则错误:coord
字段为必填。
答案 0 :(得分:1)
您可以使用sometimes
验证规则,使其仅在存在该字段时适用。
'rules' => [
'coord' => 'sometimes|array',
'coord.x' => 'required',
'coord.y' => 'required',
],
答案 1 :(得分:0)
使用required_with提供数组时,您可以要求输入字段:
'rules' => [
'coord' => 'sometimes|array|min:1',
'coord.x' => 'required_with:coord',
'coord.y' => 'required_with:coord',
],
sometimes
规则允许丢弃此字段,min:1
确保在提供此坐标字段时,它不是空数组。
答案 2 :(得分:0)
您可以尝试将数组字段验证为coord.*.x
我的意思是:
'rules' => [
'coord' => 'array',
'coord.*.x' => 'required',
'coord.*.y' => 'required',
],
然后,如果coord数组包含一个元素,则需要x和y
答案 3 :(得分:0)
不确定它是否仍然存在,但我是这样解决的:
'rules' => [
'coord' => ['nullable', 'array'],
'coord.x' => 'required_unless:coord,null',
'coord.y' => 'required_unless:coord,null',
],