A 162-case truth table recorded from WinterCMS's validator (the vendored winter/storm Factory, Laravel 9) found three divergences, all on arrays: - in compared array elements loosely; Laravel uses array_diff, an exact string comparison, so ["1.0"] is not in 1,2; - not_in failed when any element was listed; Laravel's validateNotIn is !validateIn, so an array passes unless every element is listed; - not_in failed an array without the array rule; Laravel passes it. validate_rules_test.go keeps the whole table (accepted, array keys, boolean, numeric, integer, in/not_in, sizes by type, regex, dates and comparisons, url, presence, nested and map wildcards, bail and order).
17 KiB
17 KiB