Wiki - KEONHACAI COPA

Thành viên:Lê Song Vĩ/nháp module

local p = {};

local prefix = "";

local function olGen (params)
    return mw.getCurrentFrame():expandTemplate{
            title = 'Ordered list',
            args = params
        }
end

local function checkFirstCharIsUpperCase ( name )
    if mw.ustring.match( name, "^[a-z]" ) then
        return prefix .. "Tên mới phải bắt đầu bằng chữ hoa vì lý do kỹ thuật\n";
    end
    return "";
end

local function checkEmptyName( name, identify )
    if name == nil or name == "" then
        return prefix .. "Tên " .. identify .. " không được để trống\n";
    end
    return "";
end

local function checkNewNameEqualOldName ( new, old )
    if mw.ustring.lower( mw.ustring.gsub( new, "_", " " ) ) == mw.ustring.lower( mw.ustring.gsub( old, "_", " " ) ) then
        return prefix .. "Tên mới giống với tên cũ\n";
    end
    return "";
end

local function checkNameContainsInvalidCharacters ( name )
    if mw.ustring.find( name, "[@#<>%[%]{}|]" ) then
        return prefix .. "Tên mới chứa (các) ký tự không hợp lệ\n";
    end
    return "";
end

function p.checkValidName ( frame )
    local args = frame.args;
    local oldname = args[1];
    local name = args[2];
    local errOutput = "";
    local params = {}

    local errObject = {
        checkEmptyName( name, "mới" ),
        checkEmptyName( oldname, "cũ" ),
        checkFirstCharIsUpperCase( name ),
        checkNewNameEqualOldName( name, oldname ),
        checkNameContainsInvalidCharacters( name )
    }
    
    for i = 1, #errObject do
        if errObject[i] ~= "" then
            params[#params + 1] = errObject[i]
        end
    end

    if #params > 0 then
        errOutput = "Các lỗi đã phát hiện:" .. olGen( params );
    end
    
    return errOutput;
end

return p;
Wiki - Keonhacai copa chuyên cung cấp kiến thức thể thao, keonhacai tỷ lệ kèo, bóng đá, khoa học, kiến thức hằng ngày được chúng tôi cập nhật mỗi ngày mà bạn có thể tìm kiếm tại đây có nguồn bài viết: https://vi.wikipedia.org/wiki/Th%C3%A0nh_vi%C3%AAn:L%C3%AA_Song_V%C4%A9/nh%C3%A1p_module