Updated validation logic on edit
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled

This commit is contained in:
dhanabalan
2026-05-30 13:44:43 +05:30
parent 028d985e9f
commit 968a564109

View File

@@ -58,6 +58,8 @@ class LeakTestReadingResource extends Resource
$plantId = $get('plant_id');
$set('lsrPlantError', null);
$set('lsrCodeError', null);
$set('lsrSerialError', null);
$set('item_code', null);
$set('serial_number', null);
$set('test_status', null);
@@ -80,10 +82,10 @@ class LeakTestReadingResource extends Resource
->alphaNum()
->minLength(6)
->reactive()
->disabled(fn (Get $get) => ! empty($get('id')))
->disabled(fn (Get $get) => ! empty($get('id')) && ! Filament::auth()->user()->hasRole('Super Admin'))
->afterStateUpdated(function ($state, callable $set, callable $get) {
$code = $get('item_code');
// Ensure `linestop_id` is not cleared
$set('lsrCodeError', null);
if (! $code) {
$set('lsrCodeError', 'Scan the valid item code.');
@@ -95,7 +97,9 @@ class LeakTestReadingResource extends Resource
return;
} elseif (! ctype_alnum($code)) {
$set('item_code', null);
$set('lsrSerialError', 'Item code must contain only alpha-numeric characters!');
$set('lsrCodeError', 'Item code must contain only alpha-numeric characters!');
return;
} elseif (! preg_match('/^[a-zA-Z1-9][a-zA-Z0-9]{5,}$/', $code)) {
$set('item_code', null);
$set('lsrCodeError', "Item code should not begin with '0' or letter!");
@@ -117,10 +121,10 @@ class LeakTestReadingResource extends Resource
->alphaNum()
->minLength(9)
->reactive()
->disabled(fn (Get $get) => ! empty($get('id')))
->disabled(fn (Get $get) => ! empty($get('id')) && ! Filament::auth()->user()->hasRole('Super Admin'))
->afterStateUpdated(function ($state, callable $set, callable $get) {
$serial = $get('serial_number');
// Ensure `linestop_id` is not cleared
$set('lsrSerialError', null);
if (! $serial) {
$set('lsrSerialError', 'Scan the valid serial number!');
@@ -133,6 +137,8 @@ class LeakTestReadingResource extends Resource
} elseif (! ctype_alnum($serial)) {
$set('serial_number', null);
$set('lsrSerialError', 'Serial number must contain only alpha-numeric characters!');
return;
} elseif (! preg_match('/^[1-9][a-zA-Z0-9]{8,}$/', $serial)) {
$set('serial_number', null);
$set('lsrSerialError', "Serial number should not begin with '0' or letter!");
@@ -152,6 +158,7 @@ class LeakTestReadingResource extends Resource
->label('Test Status')
->searchable()
->reactive()
// ->disabled(fn (Get $get) => ! empty($get('id')))
->options(function (callable $set, callable $get) {
$plantId = $get('plant_id');
$itemCode = $get('item_code');