You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I suggest the possibility of inserting the error message as the return value of the custom rule, in addition to the validation status.
In the following case, I add the rule that checks whether a json is valid according to a pattern.
\Valitron\Validator::addRule('json_schema', function ($field, $value, array $params, array $fields) {
if (!json_validate($value) || !count($params)) {
return false;
} else {
// schema not available
if (curl_init($params[0]) === false) {
return false;
} else {
$schema = Schema::import($params[0]);
try {
$properties = json_decode($value);
$schema->in($properties);
$is_valid = true;
} catch (\Throwable $exception) {
$is_valid = false;
}
return $is_valid;
}
}
}, '{field} does not match the schema');
It would be useful if the message passed was a default message, but if a new message is provided within the function, it is overwritten, as in the following example, which message is returned together with the validation status.
\Valitron\Validator::addRule('json_schema', function ($field, $value, array $params, array $fields) {
if (!json_validate($value) || !count($params)) {
return false;
} else {
// schema not available
if (curl_init($params[0]) === false) {
return [false, "The schema is not available"];
} else {
$schema = Schema::import($params[0]);
$is_valid = null;
try {
$properties = json_decode($value);
$schema->in($properties);
$is_valid = true;
} catch (\Throwable $exception) {
$message = $exception->getMessage();
}
return ($is_valid) ?? return [false, $message];
}
}
}, '{field} does not match the schema');
The text was updated successfully, but these errors were encountered:
I suggest the possibility of inserting the error message as the return value of the custom rule, in addition to the validation status.
In the following case, I add the rule that checks whether a json is valid according to a pattern.
It would be useful if the message passed was a default message, but if a new message is provided within the function, it is overwritten, as in the following example, which message is returned together with the validation status.
The text was updated successfully, but these errors were encountered: