Skip to content

Commit 64eedad

Browse files
committed
fix(validate): prevent unrelated assignments from overriding on_fail
1 parent 0e7faf6 commit 64eedad

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

src/mods/validate.lua

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,15 @@ end
221221

222222
setmetatable(M, {
223223
__call = call_validator,
224-
__newindex = function(_, k, v)
225-
if k == "on_fail" and v ~= nil and type(v) ~= "function" then
226-
error("validate.on_fail must be a function", 2)
224+
__newindex = function(t, k, v)
225+
if k == "on_fail" then
226+
if v ~= nil and type(v) ~= "function" then
227+
error("validate.on_fail must be a function", 2)
228+
end
229+
on_fail = v
230+
return
227231
end
228-
on_fail = v
232+
rawset(t, k, v)
229233
end,
230234
__index = function(_, k)
231235
if type(k) ~= "string" then

0 commit comments

Comments
 (0)