mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-26 05:26:17 +00:00
feat: surface expression validation errors when creating or updating rules
This commit is contained in:
@@ -74,15 +74,14 @@ class ExpressionController extends Controller
|
||||
$expressionLanguage = ExpressionLanguageFactory::get();
|
||||
$evaluator = new ActionExpressionEvaluator($expressionLanguage, $expr);
|
||||
|
||||
try {
|
||||
$evaluator->lint();
|
||||
if ($evaluator->isValid()) {
|
||||
return response()->json([
|
||||
"valid" => true,
|
||||
]);
|
||||
} catch (SyntaxError $e) {
|
||||
} else {
|
||||
return response()->json([
|
||||
"valid" => false,
|
||||
"error" => $e->getMessage()
|
||||
"error" => $evaluator->getValidationError()->getMessage()
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ class StoreRequest extends FormRequest
|
||||
'triggers.*.stop_processing' => [new IsBoolean()],
|
||||
'triggers.*.active' => [new IsBoolean()],
|
||||
'actions.*.type' => 'required|in:'.implode(',', $validActions),
|
||||
'actions.*.value' => 'required_if:actions.*.type,'.$contextActions.'|ruleActionValue',
|
||||
'actions.*.value' => 'required_if:actions.*.type,'.$contextActions.'|ruleActionExpression|ruleActionValue',
|
||||
'actions.*.stop_processing' => [new IsBoolean()],
|
||||
'actions.*.active' => [new IsBoolean()],
|
||||
'strict' => [new IsBoolean()],
|
||||
|
||||
@@ -140,7 +140,7 @@ class UpdateRequest extends FormRequest
|
||||
'triggers.*.stop_processing' => [new IsBoolean()],
|
||||
'triggers.*.active' => [new IsBoolean()],
|
||||
'actions.*.type' => 'required|in:'.implode(',', $validActions),
|
||||
'actions.*.value' => 'required_if:actions.*.type,'.$contextActions.'|ruleActionValue',
|
||||
'actions.*.value' => 'required_if:actions.*.type,'.$contextActions.'|ruleActionExpression|ruleActionValue',
|
||||
'actions.*.stop_processing' => [new IsBoolean()],
|
||||
'actions.*.active' => [new IsBoolean()],
|
||||
'strict' => [new IsBoolean()],
|
||||
|
||||
Reference in New Issue
Block a user