Изменения

Перейти к навигации Перейти к поиску
видимо ошибка в Модуль:Message box/песочница
Строка 60: Строка 60:     
-- несколько параметров передаются вместе с кодом ошибки в таблице, один может быть передан простым значением
 
-- несколько параметров передаются вместе с кодом ошибки в таблице, один может быть передан простым значением
local errors = {
+
local e = {
 
["start"]="<span class=error>Ошибка: ",
 
["start"]="<span class=error>Ошибка: ",
 
["ending"]=".</span>",
 
["ending"]=".</span>",
Строка 66: Строка 66:  
["no_valid_date"]="дата «%s» не является корректной",
 
["no_valid_date"]="дата «%s» не является корректной",
 
["wrong_jd"]="юлианская дата %s вне диапазона",
 
["wrong_jd"]="юлианская дата %s вне диапазона",
["no data"]="нет входящих данных",
+
["no_data"]="нет входящих данных",
 
["too_many_arguments"]="ожидается менее %i аргументов",
 
["too_many_arguments"]="ожидается менее %i аргументов",
 
["too_little_arguments"]="ожидается более %i аргументов",
 
["too_little_arguments"]="ожидается более %i аргументов",
Строка 723: Строка 723:  
function p.BoxDate( frame )  
 
function p.BoxDate( frame )  
 
     local args = getArgs(frame, { frameOnly = true })
 
     local args = getArgs(frame, { frameOnly = true })
     local datein = args[1]
+
     local txtDateIn, strFormat  = args[1], args[2]
     return (p.bxDate( datein ))
+
     local txtDateOut, date, status = p.bxDate(txtDateIn, strFormat, params)
 +
if status.brk then
 +
return status.errorText .. status.errorCat
 +
else
 +
return txtDateOut
 +
end
 
end
 
end
   Строка 733: Строка 738:  
params = params or {}
 
params = params or {}
 
if not txtDateIn then  
 
if not txtDateIn then  
status.errorText = tCon(errors.start,errors.no_data,errors.ending)
+
status.errorText = tCon(e.start,e.no_data,e.ending)
 
status.errorCat = category.no_parameters
 
status.errorCat = category.no_parameters
 
status.brk = true
 
status.brk = true
Строка 746: Строка 751:  
    if not (type(date.year) == 'number') then  
 
    if not (type(date.year) == 'number') then  
 
    status.errorText = tCon{
 
    status.errorText = tCon{
    "<span class=error>Не удалось распознать год. Данные: ", unwarp(date),  
+
e.start,string.format(e.no_pattern_match,txtDateIn),"; ",
    "; ", txtDateIn ,"</span>"}
+
string.format(e.no_valid_date,unwarp(date)),e.ending}
 
    status.errorCat = category.incomplete_parameters
 
    status.errorCat = category.incomplete_parameters
 
    status.brk = true
 
    status.brk = true
Строка 753: Строка 758:  
    if not inbord(date.month,1,12) then  
 
    if not inbord(date.month,1,12) then  
 
    status.errorText = tCon{
 
    status.errorText = tCon{
    "<span class=error>Не удалось распознать месяц. Данные: ", unwarp(date),  
+
e.start,string.format(e.no_pattern_match,txtDateIn),"; ",
    "; ", txtDateIn, "</span>"}  
+
string.format(e.no_valid_date,unwarp(date)),e.ending}
 
    status.errorCat = category.incomplete_parameters
 
    status.errorCat = category.incomplete_parameters
 
    status.brk = true
 
    status.brk = true
Строка 761: Строка 766:  
    strFormat = trim(string.gsub(string.gsub(strFormat,"xg","F"),"[dDjlNwzW]",""))
 
    strFormat = trim(string.gsub(string.gsub(strFormat,"xg","F"),"[dDjlNwzW]",""))
 
    elseif not inbord(date.day,1,month_end_day(date.month,date.year)) then  
 
    elseif not inbord(date.day,1,month_end_day(date.month,date.year)) then  
        status.errorText = tCon{"<span class=error>Не удалось распознать день. Данные: ",
+
        status.errorText = tCon{
        unwarp(date), "; ", txtDateIn, "</span>"}
+
e.start,string.format(e.no_pattern_match,txtDateIn),"; ",
 +
string.format(e.no_valid_date,unwarp(date)),e.ending}
 
        status.errorCat = category.incomplete_parameters
 
        status.errorCat = category.incomplete_parameters
 
    status.brk = true
 
    status.brk = true
Анонимный участник

Реклама:

Навигация