Sorry WHEN was my typo error.
COLUMN B is integer but I converted to Nominal and replacing blank record with 'MISS'
Actually when we put "COLUMN B" in {'MISS','0'} this is valid condition, that's why I wrote not in {'MISS','0'} but again it goes in loop to first rule.
e.g If column B has value 5 then it will be invalid due to 2nd rule but 1st rule will say it's valid.
when you say contrary condition, do you mean we can write Invalid in one line and Valid condition in 2nd?
IF "COLUMN B" < 3 [f] WHEN "COLUMN A" in {'1'} THEN 'INVALID' OR
IF "COLUMN B" == 0 | "COLUMN B" is None [f] WHEN "COLUMN A" in {'1'} THEN 'VALID'