Две альтернативы bourne-ish, для которых ни один из них не требует использования массивов bash:
Случай 1 : Делайте это красиво и просто: используйте NewLine в качестве разделителя записей ... например.
IN="bla@some.com
john@home.com"
while read i; do
# process "$i" ... eg.
echo "[email:$i]"
done <<< "$IN"
Примечание: в этом первом случае ни один подпроцесс не разветвляется, чтобы помочь с манипулированием списком.
Идея: Может быть, стоит использовать NL экстенсивно для внутреннего использования и преобразовывать его в другой RS только при генерации конечного результата извне .
Случай 2 : использование «;» в качестве разделителя записей ... например.
NL="
" IRS=";" ORS=";"
conv_IRS() {
exec tr "$1" "$NL"
}
conv_ORS() {
exec tr "$NL" "$1"
}
IN="bla@some.com;john@home.com"
IN="$(conv_IRS ";" <<< "$IN")"
while read i; do
# process "$i" ... eg.
echo -n "[email:$i]$ORS"
done <<< "$IN"
В обоих случаях под-список может быть составлен в цикле постоянным после завершения цикла. Это полезно при работе со списками в памяти, вместо хранения списков в файлах. {Приписка сохраняй спокойствие и продолжай B-)}
Имя входа (в данном случае data []) нужно заключить в кавычки
$('#myform').validate({
rules : {
'data[]': { required: true, minlength: 1 }
}
});
см. Документацию здесь для поля со сложными именами (скобки, точки): http : //docs.jquery.com/Plugins/Validation/Reference#Fields_with_complex_names_.28brackets.2C_dots.29
Вы пробовали:
$('#myform').validate({
rules : {
'data[]': { required: true, minlength: 1
}
}
}
);
Я не знаю, сработает ли это, попробуйте.