public static function number($value, $min, $max, $step, $attributes, $error_int, $error_range, $error_step) { C::guardIsInt($value); C::guardIsInt($min); C::guardIsInt($max); C::guardIsInt($step); $attributes["value"] = "{$value}"; $attributes["min"] = "{$min}"; $attributes["max"] = "{$max}"; $attributes["step"] = "{$step}"; return self::input("number", $attributes)->satisfies(V::fn("is_numeric", 1), $error_int)->map(V::fn("intval", 1))->satisfies(L::inRange($min, $max), $error_range)->satisfies(L::isMultipleOf($step), $error_step); }