[note] Yup 筆記
- Yup @ Github
- Yup Sandbox @ pjchender runkit
TL;DR
- 不論是
yup.mixed()
、yup.string()
、yup.number()
或是yup.boolean()
等,它們在執行後都會產生一個 schema。yup.mixed()
產生的 schema 會帶有所有型別都可以使用的方法,而其他如 StringSchema、NumberSchema、等等則是會多了一些屬於該型別可以使用的方法。 - 因為 yup 已經使用了 JS 內建的錯誤處理在顯示型別錯誤,因此 yup 參數中使用的 callback function 發生程式錯誤時,這個錯誤並不會被拋出,看起來會「沒有發生任何事」,但實際上驗證功能已經故障,這特別容易發生在
mixed.when()
或mixed.test()
的使用,因此建議在 yup 中使用的 callback function 最後都有try...catch
包起來。
mixed
yup.mixed()
的意思是建立一個能夠匹配到所有型別的 schema,其他所有型別所產生的 schema 也都是繼承自這個 schema。