[英]Dynamic extensions to errors object in react-hook-form
React-hook-form
通過 useForm 提供了一個錯誤 object。 由於檢查錯誤取決於輸入字段的名稱屬性(類似於{errors.title?.type === "require" && <p>Title required</p>}
)並且我動態創建輸入字段名稱,我也需要以某種方式動態設置擴展名。
{errors.title?.type === "require" && <p>Title required</p>}
與表單字段一起創建。 每個新的表單域都有一個來驗證它。
因為errors.title
可能是errors.title_3
,所以:
{errors.
標題 <--這部分需要是動態的,可能取決於道具或 state 等。
?.type === "require" && <p>Title required</p>}
我非常努力地解決這個問題。 我嘗試了使用eval()
來獲取 function 的字符串作為邏輯的不同變體。 它動態地創建了邏輯,但是當出現表單字段錯誤以顯示錯誤時它沒有重新呈現。 所以<p>Title required</p>
被創建了。 不知道為什么。
我也試圖通過 useState 和 useEffect 讓它工作,但我做不到。 我在 web 中搜索了解決方案,但沒有找到任何解決方案。
解決方案可能是通過 react-hook-form、React 或解決方案可能只是基於 javascript。 我真的不知道。 經過幾個小時的嘗試,我只是感到困惑。
先感謝您。
我遇到了同樣的問題,我能夠使用錯誤消息組件解決它。 下面是一個代碼片段。
從“@hookform/error-message”導入 { ErrorMessage };
<ErrorMessage
errors={errors}
name={dynamicNameGoesHere}
/>
我希望這可以幫助別人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.