new validation rule

This commit is contained in:
spencerrlongg 2023-10-18 12:41:24 -05:00
parent f7bb911b99
commit 38de69b3da
4 changed files with 7 additions and 5 deletions

View file

@ -582,11 +582,6 @@ class AssetsController extends Controller
// Set the field value based on what was sent in the request
$field_val = $request->input($field->db_column, null);
//reduce "array to string conversion" exceptions - ideally we'd handle this in a form request, but this works for now
if(is_array($field_val)) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'This custom field can not be an array', 200));
}
// If input value is null, use custom field's default value
if ($field_val == null) {
\Log::debug('Field value for '.$field->db_column.' is null');

View file

@ -92,6 +92,8 @@ class CustomFieldset extends Model
array_push($rule, $field->attributes['format']);
$rules[$field->db_column_name()] = $rule;
//add not_array to rules for all fields
$rules[$field->db_column_name()][] = 'not_array';
}
return $rules;

View file

@ -232,6 +232,10 @@ class ValidationServiceProvider extends ServiceProvider
return true;
}
});
Validator::extend('not_array', function ($attribute, $value, $parameters, $validator) {
return !is_array($value);
});
}
/**

View file

@ -95,6 +95,7 @@ return [
'url' => 'The :attribute format is invalid.',
'unique_undeleted' => 'The :attribute must be unique.',
'non_circular' => 'The :attribute must not create a circular reference.',
'not_array' => 'The :attribute field can not be an array.',
'disallow_same_pwd_as_user_fields' => 'Password cannot be the same as the username.',
'letters' => 'Password must contain at least one letter.',
'numbers' => 'Password must contain at least one number.',