{"record":{"id":"d496d8ec47a8bb44","repo":"clash-verge-rev/clash-verge-rev","slug":"rules-modals-editor-form-validation-conditionrequi","errorCode":null,"errorMessage":"rules.modals.editor.form.validation.conditionRequired","messagePattern":"rules\\.modals\\.editor\\.form\\.validation\\.conditionRequired","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/components/profile/rules-editor-viewer.tsx","lineNumber":581,"sourceCode":"    setRuleList(rulesObj?.rules || [])\n  }, [groupsUid, mergeUid, profileUid])\n\n  useEffect(() => {\n    if (!open) return\n    fetchContent()\n    fetchProfile()\n  }, [fetchContent, fetchProfile, open])\n\n  useEffect(() => {\n    return () => {\n      editorRef.current?.dispose()\n      editorRef.current = null\n    }\n  }, [])\n\n  const validateRule = () => {\n    if ((ruleType.required ?? true) && !ruleContent) {\n      throw new Error(\n        t('rules.modals.editor.form.validation.conditionRequired'),\n      )\n    }\n    if (ruleType.validator && !ruleType.validator(ruleContent)) {\n      throw new Error(t('rules.modals.editor.form.validation.invalidRule'))\n    }\n\n    const condition = (ruleType.required ?? true) ? ruleContent : ''\n    return `${ruleType.name}${condition ? ',' + condition : ''},${proxyPolicy}${\n      ruleType.noResolve && noResolve ? ',no-resolve' : ''\n    }`\n  }\n\n  const handleSave = useLockFn(async () => {\n    try {\n      if (!(await saveProfileFile(property, currData))) {\n        await fetchContent()\n        onClose()","sourceCodeStart":563,"sourceCodeEnd":599,"githubUrl":"https://github.com/clash-verge-rev/clash-verge-rev/blob/5cad0f2799e74b1105e133bcfc2a45f5c1370ef1/src/components/profile/rules-editor-viewer.tsx#L563-L599","documentation":"Error \"rules.modals.editor.form.validation.conditionRequired\" thrown in clash-verge-rev/clash-verge-rev.","triggerScenarios":"Thrown at src/components/profile/rules-editor-viewer.tsx:581 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"5cad0f2799e74b1105e133bcfc2a45f5c1370ef1","analyzedAt":"2026-08-12T03:25:57.699Z","schemaVersion":2},"datasetVersion":"2026-08-12T08:17:17.861Z"}