prepareAgentProfileFieldsForValidation(); } /** @return array */ public function rules(): array { return [ 'parent_id' => ['required', 'integer', 'exists:agent_nodes,id'], 'code' => ['sometimes', 'nullable', 'string', 'max:64', 'regex:/^[a-zA-Z0-9_-]+$/'], 'name' => ['required', 'string', 'max:128'], 'username' => ['sometimes', 'nullable', 'string', 'max:64', Rule::unique('admin_users', 'username')], 'email' => ['nullable', 'email', 'max:255', Rule::unique('admin_users', 'email')], 'password' => ['required', 'string', 'min:8', 'max:128'], 'status' => ['sometimes', 'integer', 'in:0,1'], ...$this->agentProfileFieldRules(), ]; } }